【.net】datatable分组,然后分成多个表或者多个集合

如题,求大神出手,真每分了。
例子:
bh mc

1 qq
2 ee
3 qq
4 tt
5 qq

分成:
table1:

bh mc
1 qq
3 qq
5 qq

table2:

bh mc
2 ee

table3:

bh mc
4 tt

直接遍历DataTable,先根据条件列确定需要建立多少个DataTable或是集合,然后根据条件列的值再遍历一次,将满足条件的行分别放进去就得到了拆分后的表,示例代码如下:
//源数据,就是你要分组的DataTable
DataTable source=new DataTable();
//遍历得到名称列表
List<string> names=new List<string>();
foreach(DataRow dr in source.Rows)
if(!names.Contains(dr[1].ToString()))
names.Add(dr[1].ToString());
//新建数据集,拆分完的表都在这里面
DataSet ds=new DataSet();
for(int i=0;i<names.Count;i++)
{
DataTable dt=new DataTable();
dt.TableName=names[i];
foreach(DataRow dr in source.Rows)
if(dr[1].ToString()==names[i])
dt.Rows.Add(dr);
ds.Tables.Add(dt);
}
希望对你有帮助,还有疑问请追问或是Hi
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-07
筛选方式呢?固定这样呢,还是有条件的,固定的话新建几个对象,
根据条件分组的话。。。追问

根据mc,datatable是不固定这个数

相似回答