C#的DataTable RowFilter过滤简介

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

//数据集中这列为null或者“”都过滤掉
pds.Tables[0].DefaultView.RowFilter = "字段名='' or 字段名 is  null";
//pds.Tables[0].DefaultView.RowFilter = "YHZHBH='00'";
//绑定
this.grid1.DataSource = pds.Tables[0].DefaultView;
DataTable dt = DataView.ToTable();正确的。
DataTable dt = DataView.Table; 获取的是原来构造DataView的那个原表(没有过滤之前的那个表)。

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

不过RowFilter不支持不等于(<>、!=、not like),不过如果只是单纯的对确定的字符串操作,可以用in和not in,数据库查询语句则不行。

eg:

dt.DefaultView.RowFilter = "Name in ('zhang')";  

    dt.DefaultView.RowFilter = "Name not in ('zhang')";  

    dt.DefaultView.RowFilter = "Name in (select Name from StudentInfo)"; //错误

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

例如:

"LastName = 'Smith'"  

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

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

本文URL:http://www.bianceng.cn/Programming/csharp/201410/45574.htm

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索datatable
, 运算符
, rowfilter
, dataview
, C# Datatable操作
, Datatable筛选
, 一个
引号
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-08-17 14:48:46

C#的DataTable RowFilter过滤简介的相关文章

C# DataTable RowFilter 过滤

若要形成 RowFilter 值,请指定列的名称,后跟一个运算符和一个要筛选的值. 该值必须用引号括起来. //数据集中这列为null或者""都过滤掉 pds.Tables[0].DefaultView.RowFilter = "字段名='' or 字段名 is null"; //pds.Tables[0].DefaultView.RowFilter = "YHZHBH='00'"; //绑定 this.grid1.DataSource = pd

Dataview RowFilter 过滤数组

问题描述 datatable中有一列是int数组.我想利用DataView.Rowfilter查找这个列中的数据.例如:c1(数组)c2(唯一标识)-----------------1ERTUOPGJ...23-----------------4RTYUJMf...56-----------------7CVHUIKL...89条件是查找C1中的数据存在大于2且小于6的.对于第三行信息不要.其他两行要. 解决方案 解决方案二:不是DefaultView.RowFilter="c1>2and

asp.net DataTable相关操作集锦(筛选,取前N条数据,去重复行,获取指定列数据等)_实用技巧

本文实例总结了asp.net DataTable相关操作.分享给大家供大家参考,具体如下: #region DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回 /// <summary> /// DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回 /// eg:SortExprDataTable(dt,"Sex='男'","Time Desc&quo

datatable列名合并的问题

问题描述 我现在有有一张datatable,这个表里的内容是动态增加的,datatable里有两个字段:名称,数量1312242536我想要实现的格式为:名称数量152936请问各位高手有啥好的方法和思路,请指教,完了,分数一定及时给您送上,谢谢!- 解决方案 解决方案二:selectdistinct(名称),sum(数量)as数量from表groupby名称解决方案三:select名称,sum(数量)as数量from表groupby名称解决方案四:学习了解决方案五:up解决方案六:2楼正解同意

ASP.NET调用oracle存储过程实现快速分页

asp.net|oracle|存储过程|分页 包定义:  create or replace package MaterialManage is  TYPE T_CURSOR IS REF CURSOR;  Procedure Per_QuickPage  (  TbName         in   varchar2,     --表名  FieldStr       in   varchar2,     --字段集  RowFilter      in   varchar2,     --过

ado.net数据操作全接触三(存储过程,datasets)

ado|存储过程|数据 6.1使用存储过程1: <%@ Import Namespace="System.Data" %> 2: <%@ Import NameSpace="System.Data.SqlClient" %> 3: 4: <% 5: Dim myConnection As SqlConnection 6: Dim myCommand As SqlCommand 7: Dim FirstName As String = &

datagridview-C# 对NEW Datatable过滤排序,为何会影响到DataGridView的显示,BUG吗?

问题描述 C# 对NEW Datatable过滤排序,为何会影响到DataGridView的显示,BUG吗? C# 对NEW Datatable过滤排序,为何会影响到DataGridView的显示,BUG吗? 见代码 paras = new SqlParameter[]{ new SqlParameter("@type", "待复核明细"), new SqlParameter("@fhdjbh", PubVar.djbh) }; dt = Pub

C# 用Linq实现DataTable实现重复数据过滤

未过滤前: 过滤后(仅会过滤掉完全一样的数据): 代码如下: DataTable dt = this.JsonToDataTable("[{\"Code\":\"SortId\",\"Name\":\"SortId\"},{\"Code\":\"SortCode\",\"Name\":\"编号\"},{\"Code\"

DataTable使用技巧 与简介

datatable使用技巧 (1)create a datatable datatable dt = new datatable("table_ax"); (2)add columns for datatable //method 1 dt.columns.add("column0", system.type.gettype("system.string")); //method 2 datacolumn dc = new datacolumn(