根据条件将数据表拆分为多个表

时间:2013-04-23 10:00:16

标签: c#-4.0

我有像这样的数据

Id名称ParentId


1         AA        0
2         BB        1
3         CC2       1
4         DD        1           
5         EE        0
6         FF        5
7         GG        5 
8         HH        0     
9         II        8 

我想像这样分割数据表

Id名称ParentId


2         BB        1
3         CC2       1
4         DD        1        



Id        Name     ParentId    

6         FF        5
7         GG        5     

Id名称ParentId


9         II        8

分割是基于parentId ='0'

的行BETWEEN

帮帮我吧.. 谢谢

1 个答案:

答案 0 :(得分:2)

将enumerable与group by一起使用。你将得到一个0项目的表格,但只是扔掉它/跳过它。复制将在列表中创建将包含您需要的单独表的单个数据表。

List<DataTable> subTables = dt.AsEnumerable().GroupBy(row => row.Field<int>("ParentId")).Select(g => g.CopyToDataTable()).ToList();