单元格值更改时更新dataGridView
问题描述:
我在dataGridView中刷新单元格值时遇到了一些问题。单元格值更改时更新dataGridView
我的程序在c#中设置按钮点击某些行的值,但我允许用户在DataGridView中更改某些值。
EG。 Column3 = Column2 + Column1。
哪些工作正常,当我点击按钮,但之后,当我改变了Column2的一些单元格值我也希望Column3改变值。
心中已经试过
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
dataGridView11.Update();
dataGridView1.Refresh();
}
而且
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
button1_Click(this, new EventArgs());
new value = true;
}
而在我的button1_Click代码此设置:
if(value == true){
for (int i = 0; i < dataTable.Rows.Count; i++){
dataTable.Rows[i][all] = (int)dataTable.Rows[i][columnNumber]
+ (int)dataTable.Rows[i][amount];
}
}
但它有点行不通。 谁能告诉我该怎么做?
答
尝试在您的DataGridView上添加以下操作到CellValueChanged事件。
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
var grid = (sender as DataGridView);
if (e.RowIndex != -1 && (e.ColumnIndex == 0 || e.ColumnIndex == 1))
(grid.Rows[e.RowIndex]).Cells[2].Value = (int)(grid.Rows[e.RowIndex]).Cells[0].Value + (int)(grid.Rows[e.RowIndex]).Cells[1].Value;
}
它检查第一或第二柱被改变,而如果这种变化是任何可能行。 它应该根据第1列和第2列中的值更新第3列,以更改这些列值。 现在它只适用于整数值。