У меня есть приложение 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();
}