如何使用 c# 对 WPF 中选定行的 gridview 单元格求和?
How do I do a sum of gridview cells from selected rows in WPF using c#?
如果我必须对 DataGridView 中选定行的特定列求和,我通常会做类似
的事情
decimal total = myDGV.SelectedRows.OfType<DataGridViewRow>()
.Sum(t => Convert.ToDecimal(t.Cells[2].Value));
我如何在 WPF 中做到这一点?
如果我这样做了:
decimal total = myGrid.SelectedItems.OfType<DataGridRow>()
.Sum(t => Convert.ToDecimal(t.Cells[2].Value));
我得到一个错误'System.Windows.Controls.DataGridRow' does not contain a definition for 'Cells' and no extension method 'Cells' accepting a first argument of type 'System.Windows.Controls.DataGridRow' could be found (are you missing a using directive or an assembly reference?) (CS1061)
请帮忙。
我不太了解 LINQ,但这应该可以完成工作:
List<decimal> targetCells = new List<decimal>();
for (int i = 0; i < myGrid.SelectedItems.Count; i++)
{
DataRowView row = (DataRowView)myGrid.SelectedItems[i];
targetCells.Add(Convert.ToDecimal(row[2].ToString()));
}
decimal total = targetCells.Sum();
也许其他人会告诉您如何在单个 LINQ 查询中执行此操作(如果可以的话):)。
如果我必须对 DataGridView 中选定行的特定列求和,我通常会做类似
的事情decimal total = myDGV.SelectedRows.OfType<DataGridViewRow>()
.Sum(t => Convert.ToDecimal(t.Cells[2].Value));
我如何在 WPF 中做到这一点?
如果我这样做了:
decimal total = myGrid.SelectedItems.OfType<DataGridRow>()
.Sum(t => Convert.ToDecimal(t.Cells[2].Value));
我得到一个错误'System.Windows.Controls.DataGridRow' does not contain a definition for 'Cells' and no extension method 'Cells' accepting a first argument of type 'System.Windows.Controls.DataGridRow' could be found (are you missing a using directive or an assembly reference?) (CS1061)
请帮忙。
我不太了解 LINQ,但这应该可以完成工作:
List<decimal> targetCells = new List<decimal>();
for (int i = 0; i < myGrid.SelectedItems.Count; i++)
{
DataRowView row = (DataRowView)myGrid.SelectedItems[i];
targetCells.Add(Convert.ToDecimal(row[2].ToString()));
}
decimal total = targetCells.Sum();
也许其他人会告诉您如何在单个 LINQ 查询中执行此操作(如果可以的话):)。