У меня есть текстовое поле для события TextChanged, которое позволит пользователю фильтровать строки сетки данных. Объект данных связывается с сетью данных для источника данных. У меня также есть итоговая строка, добавленная в сетку данных через таблицу данных для суммирования всех строк. Я хотел бы динамически суммировать строки при каждой фильтрации. Как мне этого добиться?
private filterTextBox_TextChanged(object sender, EventArgs e)
{
(dgv1.DataSource as DataTable).DefaultView.RowFilter =
string.Format("Name LIKE '%{0}'", textBoxFilter.Text);
}
private string SumColumn(string rowItem)
{
return dataTable.AsEnumerable().Sum(x => decimal.Parse(x[rowItem].ToString(),
System.Globalization.NumberStyles.Currency, null)).ToString("c");
}
private void dgv1_TotalRow()
{
DataRow row = dataTable.NewRow();
row["Amount1"] = SumColumn("Amount1");
row["Amount2"] = SumColumn("Amount2");
row["Amount3"] = SumColumn("Amount3");
row["Amount4"] = SumColumn("Amount4");
dataTable.Rows.Add(row);
}
private void Load_DGV()
{
dgv1_TotalRow();
dgv1.DataSource = dataTable;
}