wpf datatable数据分组汇总完整程序
时间: 2024-12-17 17:45:29 浏览: 6
在WPF中,DataTable是一个强大的数据结构,可以用于存储和处理表格形式的数据。如果你想要对DataTable中的数据进行分组并计算汇总,你可以使用LINQ查询以及DataGrid或其他类似的UI控件。下面是一个简单的步骤说明和示例代码:
1. 首先,你需要创建一个DataTable,并填充一些数据。
```csharp
DataTable dt = new DataTable();
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Amount", typeof(decimal));
// 添加行到DataTable
foreach (var item in yourData)
{
DataRow dr = dt.NewRow();
dr["Category"] = item.Category;
dr["Amount"] = item.Amount;
dt.Rows.Add(dr);
}
```
2. 使用LINQ进行数据分组和汇总:
```csharp
var groupedData = from row in dt.AsEnumerable()
group row by row.Field<string>("Category") into g
select new { Category = g.Key, TotalAmount = g.Sum(x => x.Field<decimal>("Amount")) };
```
这将按照"Category"字段分组,并计算每个组的"Amount"总和。
3. 最后,展示分组后的数据。你可以遍历`groupedData`,并在DataGrid中绑定:
```csharp
foreach (var group in groupedData)
{
var newRow = new DataGridRow();
newRow.Cells.Add(new DataGridTextColumn() { Header = "Category", Binding = new Binding("Category") });
newRow.Cells.Add(new DataGridTextColumn() { Header = "Total Amount", Binding = new Binding("TotalAmount") });
dataGrid.Items.Add(newRow);
}
```
记得替换`yourData`为实际的数据源,并在你的XAML中添加适当的DataGrid控件。
阅读全文