2016-08-07 146 views
0

我在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]; 
     } 
    } 

但它有点行不通。 谁能告诉我该怎么做?

回答

0

尝试在您的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列,以更改这些列值。 现在它只适用于整数值。

相关问题