【发布时间】:2018-12-21 23:28:52
【问题描述】:
我有一个 C# WPF 应用程序,我的目标是从 DataGrid 中获取所选行值的总和,并使用该总数设置一个文本框。此总和计算由检测所选项目何时更改的事件触发。
问题是,当我一次选择多行或使用 Ctrl + A 全选时,我得到不可预测的总和值。
为了解决问题,我用 100 行绑定了数据网格,每行的数量为 1。然后我用 Ctrl + A 选择了所有项目。总和应该是 100,但上限为 7 或 8 个单位。
以下是我目前所拥有的。有人看到问题了吗?
private void DgDailyTransactions_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
decimal sum = 0;
for (int i = 0; i < dgDailyTransactions.SelectedItems.Count; i++)
{
TextBlock tb = dgDailyTransactions.Columns[1].GetCellContent(dgDailyTransactions.SelectedItems[i]) as TextBlock;
if (tb != null)
{
sum += Convert.ToDecimal(tb.Text);
}
}
tbxSelectedDailyTransactionsTotal.Text = sum.ToString();
}
【问题讨论】: