如何根据c#中第1列的值将DataTable拆分为多个DataTable?

时间:2013-12-18 18:55:31

标签: c# sorting datatable split

我有以下数据表: enter image description here

我想将其拆分为包含3个表的List,如下所示: enter image description here

最好和最快的方法是什么?我只是在脑子里循环,但我认为这不是最好的主意,因为我的源表包含超过3k行,我想得到大约300个子表......

1 个答案:

答案 0 :(得分:1)

谢谢大家。我最终得到的结论是我从你的评论中得出结论=)

// Fill Employee names in each row
string fullName = "";
for (int i = 0; i < dt.Rows.Count; i++)
{
    if (dt.Rows[i][0].ToString() != "")
    {
        fullName = dt.Rows[i][0].ToString();
    }
    else
    {
        dt.Rows[i][0] = fullName;
    }
}

// Split into tables by each employee
List<DataTable> employeesTables = dt.AsEnumerable()
                        .GroupBy(row => row.Field<string>("F1"))
                        .Select(g => g.CopyToDataTable())
                        .ToList();