我想根据数字拆分数据表行

时间:2015-01-22 13:27:25

标签: c#

我有数据表,我想基于foreach 12行分割行数 例如,如果行数是61:那是什么意思 61/12 = 6表 5个表有12行,表6有3行 C# 非常感谢

1 个答案:

答案 0 :(得分:2)

您可以使用以下LINQ查询:

DataTable[] splittedtables = tbl.AsEnumerable()
    .Select((row, index) => new { row, index })
    .GroupBy(x => x.index / 12)  // integer division, the fractional part is truncated
    .Select(g => g.Select(x => x.row).CopyToDataTable())
    .ToArray();

数组包含6个表,5个包含12行,最后一个包含剩余的行。

检查此样本数据:

DataTable  tbl = new DataTable();
tbl.Columns.Add("Column");
for(int i=0; i < 61; i++)
    tbl.Rows.Add(i.ToString()); 

您需要添加using System.Linq;