DataTable中的数据筛选

DataTable中的数据筛选,第1张

对datatable数据各种筛选

筛选一个datatable的数据,赋值给另外一个datatable

假设:

有2个datatable:datatable

a、datatable

b。

要求:

筛选datatable

a中itemtype字段值为book的数据,然后把筛选出来的数据,赋给datatable

b

实现:

(1)方法一:通过

rowfilter

筛选实现

dataview

view

=

new

dataview();

viewtable

=

a;

viewrowfilter

=

"itemtype

=

'book'";//itemtype是a中的一个字段

b=

viewtotable();

(2)方法二:通过

select()筛选

datarow[]

rows

=

aselect("itemtype

=

'book'");

b=

aclone();

//克隆a的结构

foreach

(datarow

row

in

rows)

{

bimportrow(row);//复制行数据

}

注:如果有多个筛选条件的话,可以加

and

or。例如:

aselect("itemtype

=

'book'

and

a='b'

or

a='c'");

对DataTable数据各种筛选\x0d\筛选一个DataTable的数据,赋值给另外一个DataTable\x0d\假设:\x0d\有2个DataTable:DataTable A、DataTable B。\x0d\要求:\x0d\筛选DataTable A中itemType字段值为book的数据,然后把筛选出来的数据,赋给DataTable B\x0d\实现:\x0d\(1)方法一:通过 RowFilter 筛选实现\x0d\DataView view = new DataView();\x0d\viewTable = A;\x0d\viewRowFilter = "itemType = 'book'";//itemType是A中的一个字段\x0d\B= viewToTable();\x0d\(2)方法二:通过 Select()筛选\x0d\DataRow[] rows = ASelect("itemType = 'book'");\x0d\B= AClone(); //克隆A的结构\x0d\foreach (DataRow row in rows)\x0d\{\x0d\ BImportRow(row);//复制行数据\x0d\}\x0d\注:如果有多个筛选条件的话,可以加 and 或 or。例如: ASelect("itemType = 'bookand a='bor a='c'");

dataview dv=new dataview();

dvtable=datatable;--第一个DataTable

dvRowFilter='';--此处筛选

datatable2=dvToTable();--第二个DataTable

用datatableselect的只能得到数组

这里的数组是DataRow[]

因为符合A=string1的记录行可能存在多个

如果你确定只会有一条记录

则可以如此来获取:

DataRow[] drs = datatableSelect("A=string1");

string b = drs[0]["B"]ToString();

直接遍历DataTable,先根据条件列确定需要建立多少个DataTable或是集合,然后根据条件列的值再遍历一次,将满足条件的行分别放进去就得到了拆分后的表,示例代码如下:

//源数据,就是你要分组的DataTable

DataTable source=new DataTable();

//遍历得到名称列表

List<string> names=new List<string>();

foreach(DataRow dr in sourceRows)

if(!namesContains(dr[1]ToString()))

namesAdd(dr[1]ToString());

//新建数据集,拆分完的表都在这里面

DataSet ds=new DataSet();

for(int i=0;i<namesCount;i++)

{

DataTable dt=new DataTable();

dtTableName=names[i];

foreach(DataRow dr in sourceRows)

if(dr[1]ToString()==names[i])

dtRowsAdd(dr);

dsTablesAdd(dt);

}

希望对你有帮助,还有疑问请追问或是Hi

以上就是关于DataTable中的数据筛选全部的内容,包括:DataTable中的数据筛选、C#在datatable中怎么筛选数据、一个DataTable中 遍历符合条件的数据 插入都另一张DataTable等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9801403.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存