DataTable的一些特殊用法:Select

/**//* 
* 补充一下,还可以利用DataView来达到检索的目的。 
*/ 
DataTable dataSource = new DataTable(); 
DataView dv = dataSource.DefaultView; 
dv.RowFilter = "columnA = 'abc'"; 
//1.过滤后直接获取DataTable 
DataTable newTable1 = dv.ToTable(); 
//2.设置新DataTable的TableName 
DataTable newTable2 = dv.ToTable("NewTableName"); 
//3.设置新表是否过滤重复项,拥有的列的列名以及出现的顺序 
//即可以设置新表的字段。但是字段名肯定是老表dataSource中拥有的。 
DataTable newTable3 = 
dv.ToTable(true, new string[] { "columnA,columnF,columnC" }); 
//4.综合了2.3两点。 
DataTable newTable4 = 
dv.ToTable("NewTableName", true, new string[] { "columnA,columnF,columnC" });

简化,利用 DataView过滤

                DataView dv = this.dtPerson.DefaultView;            //设置一个视图过滤
                dv.RowFilter = "employee_dept_id = " + departId;
                this.lstSource.DataSource = dv;
                this.lstSource.DisplayMember = "employee_name";
                this.lstSource.ValueMember = "id";

this.dvPendingNode.RowFilter = "(node_end_time is null or node_end_time > '2009-6-10 17:55:13')";
                    this.dvPendingNode.RowFilter += "and  degree_name in ('', '进行', '暂停', '搁置') ";


1. 我在一个winform程序里用DataView的RowFilter筛选时用两个下划线代表两个字符,但是怎么筛选不出来的?
http://topic.csdn.net/t/20040814/04/3273316.html

Q:
我在一个winform程序里用DataView的RowFilter筛选时用两个下划线代表两个个字符,如:   
  dv.RowFilter="PID   LIKE   '"+str+"-__",这样的筛选语句在SQL企业管理器里执行是能正确筛选到记录的,但是为什么在这里就一个都筛选不出来?是不是这里要用别的符号来代表一个字符啊。

A:
"_"   is   probably   very   sql   server   specific,   classes   in   System.Data   is   supposed   to   be   DBMS   independent,   you   can   try   to   use   
    
  ABC   LIKE   'abc*'   AND   LEN(ABC)=5


2. ListBox 多项选择(DataRowView)

for (int i = 0; i < this.lstSource.SelectedItems.Count; i++)
            {
                DataRowView row = this.lstSource.SelectedItems[i] as DataRowView;
                int id = Int32.Parse(row["id"].ToString());
                string employee = String.Format("{0}<{1}>", row["employee_name"], row["dept_name"]);

                //数据填充
                if (!this.idList.Contains(id))
                {
                    this.idList.Add(id);
                    this.valueList.Add(employee);
                }
             System.Windows.Forms.ListBox.SelectedIndexCollection indexes = this.lstTarget.SelectedIndices;
            for (int i = indexes.Count - 1; i >= 0; i--)
            {
                this.idList.RemoveAt(indexes[i]);
                this.valueList.RemoveAt(indexes[i]);
            }

转载于:https://www.cnblogs.com/kiant71/archive/2010/04/22/1752000.html

DataTable、DataView、ListBox 数据绑定与查询相关推荐

  1. DataTable,DataView和DataGrid中一些容易混淆的概念

    一.DataTable       DataTable表示内存中数据的一个表,它完全是在内存中的一个独立存在,包含了这张表的全部信息.DataTable可以是从通过连接从数据库中读取出来形成的一个表, ...

  2. Wpf ListBox数据绑定实例1--绑定字典集合

    1.使用ListBox绑定Dictionary字典数据 ListBox常用事件SelectionChanged private void bindListBox() {Dictionary<st ...

  3. 在DataTable和DataView中查找指定记录

    一.在DataTable中查找 1. 使用Select方法查找没有主键的表 DataTable的Select方法返回一个DataRow数组,有四个重载的函数. DataRow[] drs = dt.S ...

  4. 使用DataReader、DataSet、DataAdapter和DataView

    使用DataReader.DataSet.DataAdapter和DataView ADO.NET提供两个对象用于检索关系型数据并把它存储在内存中,分别是DataSet和DataReader.Data ...

  5. 关于在DataTable中执行DataTable.Select(条件)返回DataTable的解决方法

    在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地被改动,又没有写回数据库(可能还要作其他 ...

  6. DataTable排序,检索,合并,筛选

    http://apps.hi.baidu.com/share/detail/16252525 DataTable排序,检索,合并,筛选 DataTable排序,检索,合并详解 一.排序 1 获取Dat ...

  7. DataTable 排序

    DataTable排序,检索,合并 一.排序 1 获取DataTable的默认视图 2 对视图设置排序表达式 3 用排序后的视图导出的新DataTable替换就DataTable (Asc升序可省略, ...

  8. 一个DataTable赋值给另一个

    DataView view = new DataView(); view.Table = DataTableA; view.RowFilter = "itemType = 'book'&qu ...

  9. ListBox和ComboBox绑定数据简单例子

    1. 将集合数据绑定到ListBox和ComboBox控件,界面上显示某个属性的内容 //自定义了Person类(有Name,Age,Heigth等属性) List<Person> per ...

最新文章

  1. jdbcTemplate 的update 和batchUpdate 方法的使用
  2. Windows Phone 7应用之Tencent微博——封装API[上篇]
  3. django+bootstrap_Django自学教程PDF高清文档下载
  4. vue入门:v-bind:class
  5. 找零兑换(递归解法)
  6. C语言入栈算法,栈的入栈、出栈、获取栈顶的c语言算法
  7. OpenGL基础19:法向量与漫反射
  8. 训练集、测试集loss容易出现的问题总结
  9. 互联网是由许多计算机组成的网络,互联网运行原理:计算机网络是由许多计算机组成的...
  10. layui富文本编辑器
  11. MySQL常用函数之聚合函数
  12. 软件设计师--中级 学习笔记(2)
  13. 二阶切比雪夫多项式实现(scala版、python版)
  14. 部署RPA如何实现投资回报率最大化?评估ROI的6大指标
  15. python爬取招聘网站源码及数据分析_Python爬取招聘网站进行数据分析,福利待遇一清二楚,高薪很简单...
  16. 关闭谷歌浏览器右下角的广告弹窗
  17. Improved Pre-Warping for Wide Angle, Head Mounted Displays
  18. AD根据Primitives进行敷铜
  19. RabbitMQ:使用Docker构建RabbitMQ高可用负载均衡集群
  20. linux resin 内存溢出,Resin服务器内存修改

热门文章

  1. Remove Nth Node From End of List - LeetCode
  2. Docker 的 Web 管理工具 DockerFly
  3. 汇总下几个IP计算/转换的shell小脚本-转
  4. [转] Linux GCC 编译使用
  5. 一堂课玩转rpm包的制作
  6. NodeJS、NPM安装配置步骤(windows版本)
  7. android设备不自带sqlite3问题(sqlite3 not found)
  8. [RN] React Native 键盘管理 在Android TextInput遮盖,上移等问题解决办法
  9. Git创建ssh密匙时报错Too many arguments解决方法
  10. 完美解决ie浏览器location.href不刷新页面的问题,进入页面只刷新一次