/// <summary> /// 初始化GridView对象 /// </summary> /// <param name="gridView">GridView对象</param> /// <param name="gridType">Grid类型,默认为可添加新项目</param> /// <param name="checkBoxSelect">是否出现勾选列</param> /// <param name="editorShowMode">编辑器显示模式</param> /// <param name="viewCaption">GridView标题</param> public static void InitGridView(this GridView gridView, GridType gridType = GridType.NewItem, bool checkBoxSelect = false, EditorShowMode editorShowMode = EditorShowMode.MouseDownFocused, string viewCaption = "") { gridView.OptionsDetail.AllowOnlyOneMasterRowExpanded = true; gridView.OptionsDetail.AllowExpandEmptyDetails = true; gridView.OptionsDetail.SmartDetailExpandButtonMode = DetailExpandButtonMode.AlwaysEnabled; gridView.OptionsNavigation.AutoFocusNewRow = true; gridView.OptionsNavigation.EnterMoveNextColumn = true; gridView.OptionsView.ShowViewCaption = false; gridView.OptionsView.ColumnAutoWidth = false; gridView.OptionsView.RowAutoHeight = true; gridView.OptionsSelection.MultiSelect = true; gridView.OptionsBehavior.EditorShowMode = editorShowMode; gridView.OptionsView.EnableAppearanceOddRow = true; gridView.OptionsView.EnableAppearanceEvenRow = true; gridView.Appearance.OddRow.BackColor = Color.Transparent; gridView.Appearance.OddRow.BorderColor = Color.FromArgb(199, 209, 228); gridView.Appearance.EvenRow.BackColor = Color.FromArgb(239, 243, 250); gridView.Appearance.EvenRow.BorderColor = Color.FromArgb(199, 209, 228); if (gridType == GridType.NewItem) { gridView.OptionsView.NewItemRowPosition = NewItemRowPosition.Bottom; } else if (gridType == GridType.ReadOnly) { gridView.OptionsBehavior.Editable = false; } if (checkBoxSelect) { gridView.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect; gridView.OptionsSelection.ShowCheckBoxSelectorInColumnHeader = DefaultBoolean.True; gridView.OptionsSelection.ShowCheckBoxSelectorInGroupRow = DefaultBoolean.True; gridView.OptionsSelection.ShowCheckBoxSelectorInPrintExport = DefaultBoolean.True; } if (!string.IsNullOrEmpty(viewCaption)) { //多语言支持 viewCaption = JsonLanguage.Default.GetString(viewCaption); gridView.ViewCaption = viewCaption; gridView.OptionsView.ShowViewCaption = true; } gridView.CustomColumnDisplayText += gridView_CustomColumnDisplayText; }
/// <summary> /// Set GridView Layout /// </summary> /// <param name="gv"></param> /// <param name="allowCellMerge"></param> /// <param name="showGroupPanel"></param> /// <param name="showFilterPanel"></param> /// <param name="showFooter"></param> /// <param name="showAutoFilterRow"></param> /// <param name="columnAutoWidth"></param> /// <param name="editable"></param> /// <param name="editorShowMode"></param> /// <param name="readOnly"></param> /// <param name="setAlternateRowColor"></param> /// <param name="multiSelect"></param> /// <param name="showCheckBoxRowSelect"></param> /// <param name="checkBoxSelectorColumnWidth"></param> /// <param name="rowIndicatorWidth"></param> public static void SetLayout( this GridView gv, bool allowCellMerge = false, bool showGroupPanel = false, bool showFilterPanel = false, bool showFooter = false, bool showAutoFilterRow = true, bool columnAutoWidth = false, bool editable = false, EditorShowMode editorShowMode = EditorShowMode.MouseDown, bool readOnly = true, bool setAlternateRowColor = true, bool multiSelect = true, bool showCheckBoxRowSelect = true, int checkBoxSelectorColumnWidth = 30, int rowIndicatorWidth = 40, int columnPanelRowHeight = 30) { gv.ColumnPanelRowHeight = columnPanelRowHeight; gv.OptionsBehavior.Editable = editable; gv.OptionsBehavior.EditorShowMode = editorShowMode; gv.OptionsBehavior.ReadOnly = readOnly; if (setAlternateRowColor) { gv.OptionsView.EnableAppearanceEvenRow = true; gv.OptionsView.EnableAppearanceOddRow = true; //gridView.Appearance.EvenRow.BackColor = Color.GreenYellow ; //gridView.Appearance.OddRow.BackColor = Color.WhiteSmoke; //gridView.Appearance.FocusedRow.BackColor = Color.DeepSkyBlue; } gv.OptionsSelection.MultiSelect = multiSelect; gv.OptionsSelection.UseIndicatorForSelection = true; if (showCheckBoxRowSelect) { if (checkBoxSelectorColumnWidth < 30) { gv.OptionsSelection.CheckBoxSelectorColumnWidth = 30; } else { gv.OptionsSelection.CheckBoxSelectorColumnWidth = checkBoxSelectorColumnWidth; } gv.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect; } else { gv.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CellSelect; } gv.OptionsView.AllowCellMerge = allowCellMerge; gv.OptionsView.ColumnAutoWidth = columnAutoWidth; gv.OptionsView.ShowAutoFilterRow = showAutoFilterRow; gv.OptionsView.ShowFooter = showFooter; gv.OptionsView.ShowGroupPanel = showGroupPanel; if (showGroupPanel) { gv.OptionsView.ShowGroupedColumns = true; } if (showFilterPanel) { gv.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.ShowAlways; } else { gv.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never; } gv.OptionsView.ShowIndicator = true; gv.IndicatorWidth = rowIndicatorWidth; }