【.net】datatable分组,然后分成多个表或者多个集合
如题,求大神出手,真每分了。例子:bhmc1qq2ee3qq4tt5qq分成:table1:bhmc1qq3qq5qqtable2:bhmc2eetable3:bhmc4...
如题,求大神出手,真每分了。
例子:
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 展开
例子:
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
//源数据,就是你要分组的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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询