Beispiel #1
0
        /// <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;
        }
Beispiel #2
0
        /// <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;
        }