DataView 数据筛选

数据筛选,,种类无非两种,筛选有用去除重复或无用。

最开始的简单,只看某一个字段是否有重复的。

dataView

dataView.RowFilter

设置过滤

RowFilter是一个可读写的属性,用来读取和设置表过滤的表达式。

你可以用列名,逻辑和数字运算符和常量的任意合法组合组成表达式。以下是一些例子:

dv.RowFilter = "Country = ‘USA’";//列名为County,值为usa

dv.RowFilter = "EmployeeID >5 AND Birthdate < #1/31/82#"

dv.RowFilter = "Description LIKE ‘*product*’"

dataTable.DefaultView

看实例代码

Type

DataTable dt1;DataView dv = new DataView(dt1);dv.RowFilter = "palte=’1′ AND Type=’1’";DataTable dt_New = dv.ToTable();

注意思考:这个方法作用不仅在于次,而且还在于可以切分表,将一个表的数据切分多个数据,这在一些场合还是很有作用的。

但是这种方式比较固定和死板,所以并不能适应所有的类型。如何能更好的适应任意的类型呢。

请继续看下面代码

适合任意列的数据对比

datatable的筛选方法

////判断是否有相同的行DataView dvStudent = newDataView(dt);//去除重复的行string[] straColumn = newstring[dt.Columns.Count];//获取所有列名for (int LoopIndex = 0;LoopIndex < dt.Columns.Count; LoopIndex++){straColumn[LoopIndex] =dt.Columns[LoopIndex].ColumnName;}//调用筛选去除重复数据方法DataTable dtGrid =dt.DefaultView.ToTable(true, straColumn);

这里是将列名使用了数组的方式进行的封装,还可以直接将数据写在里面,

dv.ToTable(true, newstring[] { "columnA,columnF,columnC" });DataTable newTable4 =dv.ToTable("NewTableName",true, new string[] { "columnA,columnF,columnC" });

选择DataTable中的唯一值

在.NETFramework2.0中,选择DataTable等数据源中的唯一值(类似SQL中Distinct的返回结果)非常简单,如下即可:

DataTabled = dataSetName.dataTableName.DefaultView.ToTable(true, new string[] {"ColumnName" });

(VS.80).aspx

通过几次简单的对比了解,发现方法还是有的,只是自己不知道或是根本没听过,所以还是说不怕不知道就怕不知道。这里的点滴积累希望多对家有用。

『 不可能 』只存在於蠢人的字典里

DataView 数据筛选

相关文章:

你感兴趣的文章:

标签云: