【发布时间】:2019-10-25 08:59:10
【问题描述】:
这个问题之前可能已经被问过并得到了回答,但我似乎无法在这里找到它。
我有一个 6 列的 datagridview:
Name Description Price Date Amount TotalPrice
我希望第二个 datagridview 以此为基础。 TotalPrice 和 Date 列应该被删除,Amount 应该被视为 SUM(),就像 SQL 中一样,其他列应该被分组。 当原始数据被过滤或刷新时,第二个数据网格视图也应该改变。
有人知道解决方案或已回答此问题的帖子吗?
尝试用 LINQ 做一些事情:
new_Datatable= old_Datatable.AsEnumerable()
.GroupBy(r => r.Field<string>("Name"))
.Select(g =>
{
var row = old_Datatable.NewRow();
row["Artikel"] = g.Key;
row["Aantal"] = g.Sum(r => r.Field<decimal>("Amount"));
return row;
}).CopyToDataTable();
但我似乎无法按正确的语法按多个字段分组并删除未使用的列(当然可以在事后删除它们,但如果可以事先完成,这样做会更合乎逻辑。)
【问题讨论】:
-
网格中有数据源吗?
-
是的,一个数据表。
标签: c# winforms linq datagridview