2011-06-24 103 views
6

我已經綁定了一個BindingList作爲DataGridView的數據源;其中一個TSource屬性綁定到DataGridViewCheckBoxColumn,但是當複選框發生點擊時,數據源不會更新,而是在複選框本身的焦點丟失時更新。DataGridViewCheckBoxColumn:如何更新屬性更改綁定的DataSource而不是驗證

我知道,當DataSourceUpdateMode是「OnValidation」而不是「OnPropertyChanged」時,標準的WindowsForms綁定發生了類似的事情,但我怎麼能有一個DataGridViewCheckBoxColumn相同的結果?

列定義如下:

  DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn(); 
      column.DataPropertyName = "MyProperty"; 
      column.HeaderText = "Title"; 

      dataGridView.Columns.Add(column); 

回答

9

您可以通過處理CurrentCellDirtyStateChanged事件DataGridView的做到這一點。

void dataGridView1_CurrentCellDirtyStateChanged(object sender,EventArgs e) 
{ 
    if (dataGridView1.IsCurrentCellDirty) 
    { 
     dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit); 
    } 
} 
+0

它的工作,謝謝。 – Notoriousxl

相關問題