对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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)