[英]Adding GroupBy rows into a datatable
我正在像這樣的數據集上進行分組:
List<DataRow> allRows = priceData.IndexTable.AsEnumerable().ToList();
var fwdRowGroups = allRows.GroupBy(row => row.Field<object>("AcctId"));
DataTable fwdsDataTable = new DataTable();
我需要將這些行添加到新的數據表中:fwdsDataTable。 我該怎么辦?
這對我不起作用:
foreach (var row in fwdRowGroups)
{
fwdsDataTable.Rows.Add(row.Cast<DataRow>());
}
fwdsDataTable.Rows.Add(row.Cast<DataRow>());
Add方法添加一行,但是強制轉換返回許多行。 這是行不通的。 您必須遍歷分組結果集中的每個循環。 另外,您可以直接復制一行嗎? 對我來說,使用數據集已經有一段時間了,但是您是否不必為新表創建新行並復制數據呢?
HTH。
唯一的方法是for-each
,可以在這里使用它。
DataTable t = new DataTable();
var fwdRowGroups = t.AsEnumerable().GroupBy(row => row.Field<object>("AcctId"));
DataTable g = new DataTable();
foreach (var row in fwdRowGroups)
{
g.Rows.Add(row);
}
還要注意刪除多余的ToList()
。 您需要什么?
並在DataRow.Field<T>()
使用更具體的類型,該類型是為類型安全操作創建的。 否則,僅使用row["AcctId]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.