public static void SetOptions(this GridView gridView, GridControlOption option) { gridView.RowHeight = option.RowHeight; gridView.ColumnPanelRowHeight = option.ColumnPanelRowHeight; gridView.FocusRectStyle = option.FocusRectStyle; gridView.OptionsBehavior.Editable = option.Editable; gridView.OptionsCustomization.AllowFilter = option.AllowFilter; //gridView.OptionsCustomization.AllowGroup = option.AllowGroup; gridView.OptionsSelection.EnableAppearanceFocusedCell = option.EnableAppearanceFocusedCell; //gridView.OptionsView.ColumnAutoWidth = option.ColumnAutoWidth; gridView.OptionsView.EnableAppearanceEvenRow = option.EnableAppearanceEvenRow; gridView.OptionsView.ShowFilterPanelMode = option.ShowFilterPanelMode; gridView.OptionsView.ShowGroupPanel = option.ShowGroupPanel; if (option.HeaderTextAlignCenter) { gridView.Appearance.HeaderPanel.Options.UseTextOptions = true; gridView.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; } if (option.CellTextAlignCenter) { gridView.Appearance.Row.Options.UseTextOptions = true; gridView.Appearance.Row.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; } if (option.ShowRowIndex) { GridColumn rowIndexColumn = new GridColumn(); rowIndexColumn.Caption = "序号"; rowIndexColumn.Name = "_xh"; rowIndexColumn.OptionsColumn.AllowEdit = false; rowIndexColumn.OptionsColumn.AllowFocus = false; rowIndexColumn.OptionsColumn.AllowMove = false; rowIndexColumn.OptionsColumn.AllowSize = false; rowIndexColumn.OptionsColumn.FixedWidth = true; //rowIndexColumn.OptionsColumn.ShowCaption = false; rowIndexColumn.OptionsFilter.AllowAutoFilter = false; rowIndexColumn.OptionsFilter.AllowFilter = false; rowIndexColumn.UnboundType = DevExpress.Data.UnboundColumnType.Integer; rowIndexColumn.Visible = true; rowIndexColumn.VisibleIndex = 0; rowIndexColumn.Width = option.RowIndexWidth; //rowIndexColumn.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left; //rowIndexColumn.AppearanceCell.BackColor = Color.Red; //DevExpress.Utils.ColorUtils gridView.Columns.Insert(0, rowIndexColumn); gridView.CustomDrawCell += V_CustomDrawCell; } //取消默认选中第一行 //会触发多次FocusedRowChanged事件 TODO //第一次加载完成 gridView.GridControl.Load += (sender, e) => { gridView.FocusedRowChanged += V_FocusedRowChanged; gridView.GridControl.DataSourceChanged += (o, a) => { gridView.FocusInvalidRow(); }; gridView.FocusInvalidRow(); }; }
public static void SetOptions(this GridControl grid, GridControlOption option) { foreach (var view in grid.ViewCollection) { if (view is GridView gridView) { gridView.SetOptions(option); } } }