2011-06-24 6 views
6

Mam powiązanie wiązania jako źródła danych obiektu DataGridView; jedna z właściwości TSource jest powiązana z obiektem DataGridViewCheckBoxColumn, ale źródło danych jest aktualizowane nie wtedy, gdy kliknięcie tego pola wyboru występuje, ale gdy fokus na polu wyboru jest tracony.DataGridViewCheckBoxColumn: sposób aktualizacji powiązanego źródła danych o zmianie właściwości zamiast sprawdzania poprawności

Wiem, że coś podobnego dzieje się na standardowe wiązanie WindowsForms, gdy DataSourceUpdateMode jest "OnValidation" zamiast "OnPropertyChanged", ale jak mogę mieć takie same wyniki z DataGridViewCheckBoxColumn?

Kolumna jest zdefiniowany następująco:

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

      dataGridView.Columns.Add(column); 

Odpowiedz

9

Można to zrobić przez obsługę zdarzenia CurrentCellDirtyStateChanged z DataGridView.

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

Działa, dzięki. – Notoriousxl

Powiązane problemy