我有兴趣在2列之后对数据表中的某些行进行分组,并将结果保存在另一个数据表中。我有以下代码用于分组行:
var result = from t in newtable.AsEnumerable()
group t by new { Col1= t.Field<String>("ID1"), Col2= t.Field<String>("ID2") } into grp
select new
{
Col1= grp.Key.ID1,
Col2= grp.Key.ID2
};
如何轻松地将result
转换为数据表?
答案 0 :(得分:2)
只需使用CopyToDatatable
生成查询:
IEnumerable<DataRow> query = from t in newtable.AsEnumerable()
group t by new { Col1 = t.Field<String>("ID1"), Col2 = t.Field<String>("ID2") } into grp
select new
{
Col1 = grp.Key.ID1,
Col2 = grp.Key.ID2
};
DataTable boundTable = query.CopyToDataTable<DataRow>();
CopyToDatatable
位于System.Data.DataSetExtensions
名称空间
答案 1 :(得分:0)
你必须应用foreach
循环这样的东西
foreach (var item in results)
{
Datatable dt = new DataTable();
DataRow dr = dt.NewRow();
dr["Col1"] = item.Col1;
dr["Col2"] = item.Col2;
dt.Rows.Add(dr);
}
您必须应用此类方案。
希望它有效。