C# DataTable是存放数据的一个离线数据库,将数据一下加载到内存。

DataTable.Select ()方法:

  Select();//全部查出来   
  Select(过滤条件);//根据过滤条件进行过滤,如Select("columnname1   like   '%xx%'");   
      Select(过滤条件,排序字段);//过滤,并排序,如Select("columnname1   like   '%xx%'",columnname2);
 
  DataRow[] dr = ds.Tables[table_name].Select("数据库绑定在gridview上的列名='该列你要查询的值'");
  DataRow[] dr = ds.Tables[table_name].Select("数据库绑定在gridview上的列名='该列你要查询的值'","排序字段");
 
DataTable.Clone() :克隆DataTable 的结构,包括所有DataTable 架构和约束。

下面是Select 和 Clone 用法结合,来实现在TextBox控件上实时输入过滤(查询)条件之后,能够实时的在DataGridView控件上显示符合过滤(查询)条件的项

1、在控件textBox上输入要过滤条件,触发TextChanged事件如下:

private void textBox2_TextChanged(object sender, EventArgs e)
{
string strData = textBox2.Text;
string strFiler = CDBDefine.fieldName + " like '%" + strData + "%'";//其中CDBDefine.fieldName为数据库中的字段名
FilterConditions(strFiler);
}

2、通过查找DataTable数据中对应的字段中的值,并为新DataTable填充查找中符合的项,并使DataGridView显现符合过滤条件的数据

private void FilterConditions(string strFiler)
{
if (m_peopleInfoTable != null) //m_peopleInfoTable是一个已有的DataTable的数据集
{
DataRow[] filerRows = null;
if (strFiler == null || strFiler.Length == )//如果过滤条件为空且长度为0,则使filerRows为null
{
filerRows = null;
}
else
{
filerRows = m_peopleInfoTable.Select(strFiler);//根据过滤条件strFiler在已有的m_peopleInfoTable数据中查找符合条件的数据行存入filerRows中
} DataTable tempdatatable = m_peopleInfoTable.Clone();//创建临时新表并把原来的表结构复制到新表中
foreach (DataRow row in filerRows)//为新表填充数据
{
tempdatatable.Rows.Add(row.ItemArray);
}
m_peopleInfodataGridView.DataSource = tempdatatable;//m_peopleInfodataGridView是一个已有的DataGridView数据控件名称
}
}

c# DataTable 中 Select 和 Clone 用法结合的更多相关文章

  1. shell脚本中select循环语句用法

    shell脚本中select循环语句 1. 脚本中select的语法格式 select VAR in LIST do command1 command2 ... ... commandN done s ...

  2. mysql中select distinct的用法

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但 往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...

  3. sql语句中select……as的用法

  4. DataTable中的select()用法

    1.在DataTable中执行DataTable.Select("条件")返回DataTable // <summary> // 执行DataTable中的查询返回新的 ...

  5. 在DataTable中执行DataTable.Select("条件")返回DataTable;

    转:http://blog.csdn.net/hcf_force/article/details/7779062 1.在DataTable中执行DataTable.Select("条件&qu ...

  6. 在DataTable中执行DataTable.Select("条件")

     .在DataTable中执行DataTable.Select("条件")返回DataTable:  // <summary> // 执行DataTable中的查询返回 ...

  7. [datatable]关于在DataTable中执行DataTable.Select("条件")返回DataTable的解决方法

    -- :09关于在DataTable中执行DataTable.Select("条件")返回DataTable的解决方法 在实际编程工程中,常常遇到这样的情况:DataTable并不 ...

  8. DataTable中执行DataTable.Select("条件"),

    我们在使用Sql ******这些数据库时,可以轻松的通过Sum.Aver.Count等统计出相关结果,那么,在已经把数据检索出来的DataSet(DataTable)中呢?特别是通过Web Serv ...

  9. sql: sybase与oracle中insert into select和select into的用法

    1. sybase与oracle中insert into select和select into的用法 http://wjlvivid.iteye.com/blog/1921679 Sybase 一.首 ...

随机推荐

  1. 【STL源码学习】STL算法学习之二

    第一章:前言 学习笔记,记录学习STL算法的一些个人所得,在以后想用的时候可以快速拾起. 第二章:明细 copy 函数原型: template <class InputIterator, cla ...

  2. Redis 配置文件 Redis.conf 参数说明

    Redis 配置文件 Redis.conf 参数说明 参数名 参数说明 参数实例 daemonize 是否以后台守护进程运行,默认为 no, 取值 yes, no   daemonize no     ...

  3. 【36】绝不重新定义继承而来的non-virtual方法

    1.绝不重新定义继承而来的non-virtual方法,为什么? 首先想想,non-virtual方法是干什么的?也就是说,它的使用场景.父类的non-virtual方法,其实就是告诉子类,继承实现,子 ...

  4. 较具体的介绍JNI

    JNI事实上是Java Native Interface的简称,也就是java本地接口.它提供了若干的API实现了和Java和其它语言的通信(主要是C&C++).或许不少人认为Java已经足够 ...

  5. [Heroku] How to pull, push changes

    1. First you need to login heroku: heroku login 2. Then you need to download the code: heroku git:cl ...

  6. Android端如何获取手机当前的网络状态,比如wifi还是3G, 还是2G, 电信还是联通,还是移动

    不多说了,直接看代码, NB人会懂的! package com.example.vdisktest; import android.app.Activity; import android.conte ...

  7. mysqldump 的一些使用参数

    备份数据库#mysqldump 数据库名 >数据库备份名 #mysqldump -A -u用户名 -p密码 数据库名>数据库备份名 #mysqldump -d -A --add-drop- ...

  8. php测试代码工具类

      <?php error_reporting (E_ALL); ini_set ('display_errors', 'on'); ?> <meta http-equiv=&quo ...

  9. iOS 手动打造JSON Model转换库

    前一段时间学习了Runtime,对类和对象的结构,和一些消息转发有一些自己的理解,现在希望简单的应用下,就决定自己写一个简单的JSON与Model的相互转化,现在总结下. 建议查看 参考资料 :Run ...

  10. 路径(keyPath)、键值编码(KVC)和键值观察(KVO)

    键路径 在一个给定的实体中,同一个属性的所有值具有相同的数据类型. 键-值编码技术用于进行这样的查找—它是一种间接访问对象属性的机制. - 键路径是一个由用点作分隔符的键组成的字符串,用于指定一个连接 ...