protected virtual void OnCustomUnboundColumnData(object sender, GridColumnDataEventArgs e) { if (KeyExpression == null) { return; } SelectorColumn column = e.Column as SelectorColumn; if (column == null) { return; } var key = e.GetListSourceFieldValue(KeyExpression); if (e.IsGetData) { bool value; e.Value = Values.TryGetValue(key, out value) ? value : false; } if (e.IsSetData) { Values[key] = (bool)e.Value; } }
private void Grid_Loaded(object sender, RoutedEventArgs e) { var _selectColumn = Grid.Columns.Where(f => f is SelectorColumn); if (_selectColumn.Count() > 0) { //var _column = _selectColumn.First() as SelectorColumn; //_column.HeaderTemplate = _column.HeaderTemplate; //_column.CellTemplate = _column.CellTemplate; } else { Column = new SelectorColumn(); Column.VisibleIndex = 0; if (Grid.Bands.Count() > 0) { GridControlBand _bald = new GridControlBand(); _bald.Fixed = FixedStyle.Left; _bald.OverlayHeaderByChildren = true; _bald.VisibleIndex = 0; _bald.Columns.Add(Column); Grid.Bands.Insert(0, _bald); } else { Grid.Columns.Insert(0, Column); } } Column.VisibleIndex = 0; Column.HeaderVisibility = HeaderVisibility; Column.Fixed = FixedStyle.Left; Column.AllSelectChanged += column_AllSelectChanged; Column.CellSelectChanged += CellSelectChanged; Column.Width = 40; Column.MaxWidth = 40; Column.MinWidth = 40; Column.AllowSorting = DevExpress.Utils.DefaultBoolean.False; }