2012-10-29 24 views
2

我有一個2列的GridView,一個是名爲「選擇」的DataGridViewCheckBoxColumn,另一個是普通的DataGridViewTextBoxColumn,名爲「ID」...我想在更改chechkbox列的選中狀態時立即更改文本框的文本。 ...但我不知道應該使用哪個事件....在編輯之後應該使用哪個dataGridView事件立即更改文本框的內容?

 void SetTextBox() 
    { 
     TextBox1.Text=""; 
     for (int i = 0; i < MyGrid.Rows.Count; i++) 
      if (Convert.ToBoolean(MyGrid.Rows[i].Cells["choose"].Value) == true) 
      {      
       TextBox1.Text += MyGrid.Rows[i].Cells["ID"].Value.ToString()+",";     
      } 
    } 

    private void !!!!which Event?!!!!(object sender, EventArgs e) 
    { 
      SetTextBox(); 
    } 

回答

1

實際上有兩個事件需要處理。以下是我現在正在處理的代碼中的一個示例。

private void dgvRMADetail_CurrentCellDirtyStateChanged(object sender, EventArgs e) 
    { 
     if (dgvRMADetail.CurrentCell is DataGridViewCheckBoxCell)) 
     { 
      dgvRMADetail.CommitEdit(DataGridViewDataErrorContexts.Commit); 
     } 
    } 

    private void dgvRMADetail_CellValueChanged(object sender, DataGridViewCellEventArgs e) 
    { 
     if (e.ColumnIndex == useRowCheckboxColumn.Index) 
     { 
      // Logic for doing whatever when the checkbox is checked. 
     } 
    } 

的第一個事件告訴它「自動提交了這一點:改變」,第二個事件是「當值被提交,做一些事情。」

+0

thx很多...它實際上是我的回答:) –

相關問題