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. Java输出考试前三名

    实现输出考试成绩的前三名 要求: 1. 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73 2. 要求通过自定义方法来实现成绩 ...

  2. Java中的二维数组

    Java 中的二维数组 所谓二维数组,可以简单的理解为是一种"特殊"的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空 ...

  3. 可学习的多人人脸识别程序(基于Emgu CV)

    源代码下载(需要安装Emgu CV,安装方法请百度) 很多朋友使用Emgu CV遇到CvInvoke()的报错,我找到一种解决方法. 把EmguCV目录下bin里面的所有dll复制到C:\WINDOW ...

  4. 升级SUSE Linux内核的完整步骤!

    http://blog.sina.com.cn/s/blog_491529d60100061h.html 安装完SLED 10后发现仍然有“热启动网络不通”的问题,原因是内核版本较低,于是升级到2.6 ...

  5. 教你50招提升ASP.NET性能(一):缓存是最后的手段

    (1)Caching is a last resort 招数1: 缓存是最后的手段 Projects that use multiple levels of cache often demonstra ...

  6. ios项目不能再用UDID了

    今天更新项目时,出现 Apps are note permitted to access the UDID and must not use the uniqueIdentifier method o ...

  7. Yii中CDbCriteria常用方法

    最近在使用Yii 下面是常用到的方法,这里保存一下方便查看 $criteria =newCDbCriteria; $criteria->addCondition("id=1" ...

  8. MFC——AfxParseURL用法

    1.功能: 该函数解析URL字符串并返回服务的类型及组件,包含在 afxinet.h 头文件中. 2.定义 BOOL AFXAPI AfxParseURL(LPCTSTRpstrURL,DWORD&a ...

  9. VC 部署

    部署是分发要安装到其他计算机上的已完成应用程序或组件的过程. 当使用 Visual C++ 库提供的功能生成 C/C++ 应用程序时,该应用程序在运行时将依赖于那些库的存在. 为了让应用程序运行,它必 ...

  10. JavaScript网站设计实践(六)编写live.html页面 改进表格显示

    一.编写live.html页面,1.JavaScript实现表格的隔行换色,并且当鼠标移过时当前行高亮显示:2.是输出表格中的abbr标签的内容 实现后的效果图是这样的: 1.实现思路 在输出表格的时 ...