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. javascript深入理解闭包(转)

    一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量 ...

  2. ios基础知识

    1获取系统语言设置 NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSArray *languages = ...

  3. python会什么比c慢

    众所周知,python执行速度比c慢.原因为何? 先来看下面这张图: python的传统运行执行模式:录入的源代码转换为字节码,之后字节码在python虚拟机中运行.代码自动被编译,之后再解释成机器码 ...

  4. struts2学习笔记(5)---自己定义拦截器

    什么是拦截器? struts2中拦截器分为Struts2定义好的拦截器和自己定义的拦截器. 其作用是在一个Action运行之前进行拦截,在Action运行之后又增加某些操作. 实现原理 当请求一个Ac ...

  5. MySQL如何选择float, double, decimal

    http://yongxiong.leanote.com/post/mysql_float_double_decimal

  6. [Effective C++ --013]以对象管理资源

    这一节基本讲述的是将资源放进管理对象,防止忘记释放资源. 1.一般New和Delete使用场景 void fun() { SimpleClass* pSimpleClass1 = new Simple ...

  7. com.classpath.www

    package com.classpath.www; import java.io.File; import java.net.URL; import javax.servlet.ServletCon ...

  8. Fast portable non-blocking network programming with Libevent--转

    Learning Libevent Chapter 0: About this document Chapter 1: A tiny introduction to asynchronous IO. ...

  9. IIS 之 失败请求跟踪规则

    若想使用此功能需先启动如下图的Windows功能: 利用失败请求跟踪功能,可以在出现问题时捕获相应的XML格式的日志,从而无需重现该问题即可开始故障排除.此外,还可以定义应用程序的失败条件并配置要基于 ...

  10. 你真的会用UIButton吗? UIButton详细介绍

    本节知识点: 什么是UIButton UIButton的状态 UIButton的属性设置 UIButton基本使用步骤 UIButton的代码创建与常用属性设置 重写按钮的某个状态属性的 setter ...