//定义一个DataView ,得到一个全部职员的视图
DataView dataView1 = DbHelperSQL.QueryDataView(sql);

//过滤得到一个只显示男职员的视图 
dataView1.RowFilter = " sex='男' ";

//放弃过滤,现在仍然能够得到一个全部职员的视图
dataView1.RowFilter = null;

//现在过滤得到一个只显示女职员的视图 
dataView1.RowFilter = " sex='女' ";

//获取性别字段为空的职员
dataView1.RowFilter = " sex is null ";
//或者
dataView1.RowFilter = " Isnull( sex, 'Null Column') = 'Null Column' ";

//获取时间为空(NULL)和非空的视图
dataView1.RowFilter = " AddTime is null ";//空
dataView1.RowFilter = " AddTime is not null ";// 非空
//或者这里也可以先用Convert将日期时间(DateTime)字段转为字符串,然后做空值比较
dataView1.RowFilter = " Isnull( Convert(AddTime, 'System.String'),'Null Column') = 'Null Column' "; //空
dataView1.RowFilter = " not ( Isnull( Convert(AddTime, 'System.String'),'Null Column') = 'Null Column' ) "; // 非空

DataTable dt = DataView.ToTable();正确的。

DataTable dt = DataView.Table; 获取的是原来构造DataView的那个原表(没有过滤之前的那个表)。

重点在于DataView是DateTable相关联 的一个视图而已,无论你如何使用RowFilter,DataView虽然被改变,但 DateTable数据不会减少,所以你不要幻想连续使用多个RowFilter 来得到叠加过滤的效果,一个DataView只支持一个RowFilter,你只能使用 not ,and 来连接多个过滤条件。

--------------------------------------------------------------------------------------------------------------------------

若要形成 RowFilter 值,请指定列的名称,后跟一个运算符和一个要筛选的值。 该值必须用引号括起来。 例如:

"LastName = 'Smith'"

若要只返回那些具有 null 值的列,请使用以下表达式:

"Isnull(Col1,'Null Column') = 'Null Column'"

下面的示例创建 DataView 并设置它的 RowFilter 属性。

private void MakeDataView()  
{
DataView view = new DataView();
view.Table = DataSet1.Tables["Suppliers"];
view.AllowDelete = true;
view.AllowEdit = true;
view.AllowNew = true;
view.RowFilter = "City = 'Berlin'";
view.RowStateFilter = DataViewRowState.ModifiedCurrent;
view.Sort = "CompanyName DESC";
// Simple-bind to a TextBox control
Text1.DataBindings.Add("Text", view, "CompanyName");
}

DataView.RowFilter筛选DataTable中的数据的更多相关文章

  1. 筛选DataTable中的数据

    DataTable dt = bll.GetTable(); //查询数据 DataTable newdt = new DataTable(); //一个新的table来保存筛选的记录 newdt = ...

  2. Sliverlight linq中的数组筛选数据库中的数据

    首先 什么是linq呢 ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特 ...

  3. 从DataTable中查询数据

    /// <summary> /// 从DataTable中查询数据 /// </summary> /// <param name="tb">待处 ...

  4. SqlBulkCopy将DataTable中的数据批量插入数据库中

    #region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// <summary> /// 注意:DataTable中的列需要与数据库表中的列完全一致.// ...

  5. 【转载】C#中遍历DataTable中的数据行

    在C#中的Datatable数据变量的操作过程中,有时候我们需要遍历DataTable变量获取每一行的数据值,例如将DataTable变量转换为List集合的时候,我们就会遍历DataTable变量, ...

  6. list转datatable,SqlBulkCopy将DataTable中的数据批量插入数据库

    /// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list&q ...

  7. C#如何对DataTable中的数据进行条件搜索

    经常遇到将数据库中的数据读取到DataTable中的时候再次对DataTable进行条件筛选,下面的筛选的一个例子: DataRow[] dr = dt.Select("token = '& ...

  8. 怎样简单灵活地将DataTable中的数据赋值给model

    最近在做的一个项目中,有13个方法都需要用到同一种处理方式:通过SQL语句从数据库获取一条指定的数据,并将该数据中的每个值都赋值给一个model,再将这个model中的数据通过微信发送出去.每个方法都 ...

  9. DataTable中的数据赋值给model z

    create table memberinfo ( member_id int, member_name varchar(20), member_birthday varchar(50) ) go / ...

随机推荐

  1. Windows api 函数全部列表 (未完成)

    网上找了很久,发现没有完整版的,msdn上面有,但是不方便查阅,所以想自己整理一下:由于工程量过于庞大,希望大家共同完成.MSDN:http://msdn.microsoft.com/en-us/li ...

  2. Spark Streaming揭秘 Day25 StreamingContext和JobScheduler启动源码详解

    Spark Streaming揭秘 Day25 StreamingContext和JobScheduler启动源码详解 今天主要理一下StreamingContext的启动过程,其中最为重要的就是Jo ...

  3. UVA 725

    Description   Write a program that finds and displays all pairs of 5-digit numbers that between them ...

  4. JSP 隐藏对象

    [摘要]     隐藏对象用在jsp表达式和脚本中,不能直接用在jsp声明中,因为这些隐藏对象是容器在jspservice方法中定义的,在这个方法中定义的变量不能在jsp声明中使用.可以通过参数方法将 ...

  5. 纯CSS实现多选组件

    mark: http://blog.meathill.com/tech/fe/create-multiple-select-component-with-pure-css.html Demo: 小宝3 ...

  6. Cygwin安装与配置

    Cygwin可以在windows环境下模拟Linux系统,而且可以重用Linux下面丰富的脚本工具.windows的cmd太弱了.Cygwin是由Cygnus(天鹅座) Solution公司开发,不过 ...

  7. Asp.Net MVC结合ExtJs gridPanel 分页和高度自适应

    Ext.onReady(function () { gridPanel(); var panel = Ext.getCmp('gridPanel'); window.onresize = functi ...

  8. PHP发送微信模版消息

    public function payResult($params) { global $_GPC, $_W; $weid = $this->_weid; $order = pdo_fetch( ...

  9. SSH开发框架搭建参考

    一, 参考文章: 1, http://blog.csdn.net/communicate_/article/details/8644040 这篇文章讲的还算详尽,但是貌似有一些多余的代码: 2,

  10. [转载]Eziriz .NET Reactor 4.7.0.0 官方原版+破解补丁(强大的代码保护和软件防盗版工具)

    Eziriz .NET Reactor 是一个强大的代码保护和软件防盗版工具,完全由.NET框架编写..NET Reactor支持NET平台的软件许可系统,并支持NET程序集所有语言.当.Net编译器 ...