I want to perform some tasks on Checked Event of checkbox column of DevExpress's DataGrid control in wpf.
1 Answer
To track when the value of corresponding boolean colums is changed i suggest you handle the TabbedView.CellValueChanged event:
((TableView)gridControl.View).CellValueChanged += MainWindow_CellValueChanged
//...
void MainWindow_CellValueChanged(object sender, CellValueChangedEventArgs e) {
if(e.Column.FieldName == "BooleanProp") {
// do something
}
}
To track Checked/Unchecked event directly on cell editor you can use the following approach:
((TableView)gridControl.View).ShownEditor += TableView_ShownEditor;
((TableView)gridControl.View).HiddenEditor += TableView_HiddenEditor;
//...
void TableView_ShownEditor(object sender, EditorEventArgs e) {
if(e.Column.FieldName == "BooleanProp") {
((DevExpress.Xpf.Editors.CheckEdit)e.Editor).Checked += BooleanPropCheckEdit_Checked;
((DevExpress.Xpf.Editors.CheckEdit)e.Editor).Unchecked += BooleanPropCheckEdit_Unchecked;
}
}
void TableView_HiddenEditor(object sender, EditorEventArgs e) {
if(e.Column.FieldName == "BooleanProp") {
((DevExpress.Xpf.Editors.CheckEdit)e.Editor).Checked -= BooleanPropCheckEdit_Checked;
((DevExpress.Xpf.Editors.CheckEdit)e.Editor).Unchecked -= BooleanPropCheckEdit_Unchecked;
}
}
void BooleanPropCheckEdit_Checked(object sender, RoutedEventArgs e) {
// do something
}
void BooleanPropCheckEdit_Unchecked(object sender, RoutedEventArgs e) {
// do something
}