我的网格视图有一个名为Amount
的列。我有一个textbox
,显示amount
中gridview
列的总和,但我需要知道gridview
中的项目是inserted
changed
和deleted
,因为我需要更新textbox
是否有人处理过这种情况。我想知道我应该使用哪个datagrid事件,
我正在使用Windows表单应用程序
祝你好运
答案 0 :(得分:3)
您可以使用RowsRemoved,RowsAdded和CellValueChanged事件。
答案 1 :(得分:2)
<强> 更新 强>
您可以使用这些假设您的用户一次只添加和删除1行。还添加了一个带有linq语句的方法来总结您的金额并将其分配给文本框。
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex.Equals(dataGridView1.Columns["Amount"].Index))
{
UpdateTotal();
}
}
private void dataGridView1_UserAddedRow(object sender, DataGridViewRowEventArgs e)
{
UpdateTotal();
}
private void dataGridView1_UserDeletedRow(object sender, DataGridViewRowEventArgs e)
{
UpdateTotal();
}
private void UpdateTotal()
{
textBox1.Text = (dataGridView1.Rows.Cast<DataGridViewRow>()
.Sum(t => Convert.ToInt32(t.Cells["Amount"].Value))).ToString();
}