2016-08-07 58 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列,以更改這些列值。 現在它只適用於整數值。

相關問題