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. [Server Running] [Node.js, PM2] Using PM2 To Keep Your Node Apps Alive

    PM2 is a production process manager for Node.js applications with a built-in load balancer. It allow ...

  2. 《SAS编程与数据挖掘商业案例》学习笔记之十七

    继续读书笔记,本次重点sas sql语句,因为sql内容多且复杂,本文仅仅介绍商业应用中经常使用的而且easy出错的地方,内容包含:单表操作.多表关联.子查询以及merge和join的差别 1.单表操 ...

  3. CSS:表格样式(设置表格边框/文字/背景的样式)

    使用CSS能够制作出十分精美的表格. 代码整理自w3school:http://www.w3school.com.cn 效果图: 代码: <!DOCTYPE html PUBLIC " ...

  4. oracle的sql函数

    只读事务set transaction read only当一个用户添加了只读事务,则查询时只会查到设置只读事务之前的内容,在并发量大的系统中,通过设置只读事务 便于统计 oracle的sql函数的使 ...

  5. 万能的Entry,两个变量的Model/JavaBean再也不用写了!

    前言 很多时候传数据需要只含两个变量的Model/JavaBean,但就为了两个变量去写一个Model/JavaBean实在是麻烦,而且类型固定重用性低.比如: 1.网格显示的头像-名称 需要 Str ...

  6. 大陆居民身份证验证方法(java)

    1.设置接口 @Constraint(validatedBy = ChineseIdNumberValidator.class) @Target({ElementType.METHOD, Elemen ...

  7. Redis命令参考(Keys & String)

    r = redis.Redis(ip, port, index) 如此实例化一个redis对象,index取值0-15,一个redis对象有16个库. Keys 函数 功能 返回值 备注 keys(s ...

  8. 关于Eclipse中的egit的常规使用和模板

    修改bug的模板 要提交的comment信息.TDI-31426 fix bug: if get studio license use : Import License :after get lice ...

  9. 最佳vim技巧

    最佳vim技巧----------------------------------------# 信息来源----------------------------------------www.vim ...

  10. 【转】Linux网络相关查询脚本

    1. 查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ {++S[$NF] ...