using DevExpress.Utils;
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using System.ComponentModel;
namespace Verify
{
///
/// GridView的拓展类
///
public static class GridViewExtend
{
#region 默认
///
/// 普通视图设置
///
///
///
public static void SetNormalView(this GridView grid, int height = 35)
{
grid.OptionsFind.FindNullPrompt = "检索";
grid.OptionsSelection.MultiSelect = false;
grid.OptionsMenu.EnableColumnMenu = true;
grid.OptionsSelection.EnableAppearanceFocusedCell = false;
grid.Appearance.HeaderPanel.TextOptions.HAlignment = HorzAlignment.Center;
grid.Appearance.Row.TextOptions.HAlignment = HorzAlignment.Center;
grid.FocusRectStyle = DrawFocusRectStyle.RowFullFocus;
grid.OptionsCustomization.AllowFilter = false;
grid.OptionsCustomization.AllowSort = true;
grid.OptionsCustomization.AllowQuickHideColumns = false;
grid.OptionsView.ShowAutoFilterRow = false;
grid.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
grid.OptionsView.ShowIndicator = false;
grid.OptionsView.NewItemRowPosition = NewItemRowPosition.None;
grid.OptionsView.ShowGroupPanel = false;
grid.OptionsView.ShowDetailButtons = false;
grid.OptionsClipboard.AllowCopy = DefaultBoolean.True;
grid.OptionsBehavior.Editable = false;
grid.OptionsBehavior.ReadOnly = true;
//grid.OptionsView.EnableAppearanceOddRow = true; // 使能 // 和和上面绑定 同时使用有效
//grid.Appearance.EvenRow.BackColor = Color.FromArgb(244, 248, 251); // 设置偶数行颜色
//grid.OptionsView.EnableAppearanceEvenRow = true;
//grid.Appearance.OddRow.BackColor = Color.White; // 设置偶数行颜色
grid.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
grid.OptionsFind.ShowCloseButton = false;
grid.RowHeight = height;
grid.BestFitColumns();
}
///
/// 限制功能的视图
///
///
///
public static void SetLimitView(this GridView grid, int height = 35)
{
grid.OptionsFind.FindNullPrompt = "检索";
grid.OptionsSelection.MultiSelect = false;
grid.OptionsMenu.EnableColumnMenu = false;
grid.OptionsSelection.EnableAppearanceFocusedCell = false;
grid.Appearance.HeaderPanel.TextOptions.HAlignment = HorzAlignment.Center;
grid.Appearance.Row.TextOptions.HAlignment = HorzAlignment.Center;
grid.FocusRectStyle = DrawFocusRectStyle.RowFullFocus;
grid.OptionsCustomization.AllowFilter = false;
grid.OptionsCustomization.AllowSort = false;
grid.OptionsCustomization.AllowQuickHideColumns = false;
grid.OptionsView.ShowAutoFilterRow = false;
grid.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
grid.OptionsView.NewItemRowPosition = NewItemRowPosition.None;
grid.OptionsView.ShowGroupPanel = false;
grid.OptionsClipboard.AllowCopy = DefaultBoolean.True;
grid.OptionsBehavior.Editable = false;
grid.OptionsBehavior.ReadOnly = true;
grid.OptionsView.EnableAppearanceOddRow = true; // 使能 // 和和上面绑定 同时使用有效
grid.Appearance.EvenRow.BackColor = Color.FromArgb(244, 248, 251); // 设置偶数行颜色
grid.OptionsView.EnableAppearanceEvenRow = true;
grid.Appearance.OddRow.BackColor = Color.White; // 设置偶数行颜色
grid.RowHeight = height;
grid.ColumnPanelRowHeight = height;
grid.GroupRowHeight = height;
grid.BestFitColumns();
}
///
/// 普通编辑视图设置
///
///
///
public static void SetNormalEditView(this GridView grid, int height = 35)
{
grid.OptionsFind.FindNullPrompt = "检索";
grid.OptionsSelection.MultiSelect = false;
grid.OptionsMenu.EnableColumnMenu = true;
grid.OptionsSelection.EnableAppearanceFocusedCell = false;
grid.Appearance.HeaderPanel.TextOptions.HAlignment = HorzAlignment.Center;
grid.Appearance.Row.TextOptions.HAlignment = HorzAlignment.Center;
grid.FocusRectStyle = DrawFocusRectStyle.RowFullFocus;
grid.OptionsCustomization.AllowFilter = true;
grid.OptionsCustomization.AllowSort = true;
grid.OptionsCustomization.AllowQuickHideColumns = false;
grid.OptionsView.ShowAutoFilterRow = false;
grid.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
grid.OptionsView.NewItemRowPosition = NewItemRowPosition.None;
grid.OptionsView.ShowGroupPanel = false;
grid.OptionsClipboard.AllowCopy = DefaultBoolean.True;
grid.OptionsBehavior.Editable = true;
grid.OptionsBehavior.ReadOnly = false;
/*grid.OptionsView.EnableAppearanceOddRow = true;
grid.OptionsView.EnableAppearanceEvenRow = true;
grid.Appearance.OddRow.BackColor = Color.White;
grid.Appearance.EvenRow.BackColor = Color.FromArgb(244, 248, 251);*/
grid.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
grid.RowHeight = height;
grid.ColumnPanelRowHeight = height;
grid.GroupRowHeight = height;
grid.BestFitColumns();
grid.OptionsFilter.AllowFilterEditor = false;
grid.OptionsFind.ShowCloseButton = false;
grid.OptionsCustomization.AllowSort = false;
grid.OptionsCustomization.AllowFilter = false;
}
///
/// 限制功能的编辑视图
///
///
///
public static void SetLimitEditView(this GridView grid, int height = 35)
{
grid.OptionsFind.FindNullPrompt = "检索";
grid.OptionsSelection.MultiSelect = false;
grid.OptionsMenu.EnableColumnMenu = false;
grid.OptionsSelection.EnableAppearanceFocusedCell = false;
grid.Appearance.HeaderPanel.TextOptions.HAlignment = HorzAlignment.Center;
grid.Appearance.Row.TextOptions.HAlignment = HorzAlignment.Center;
grid.FocusRectStyle = DrawFocusRectStyle.RowFullFocus;
grid.OptionsCustomization.AllowFilter = false;
grid.OptionsCustomization.AllowSort = false;
grid.OptionsCustomization.AllowQuickHideColumns = false;
grid.OptionsView.ShowAutoFilterRow = false;
grid.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
grid.OptionsView.NewItemRowPosition = NewItemRowPosition.None;
grid.OptionsView.ShowGroupPanel = false;
grid.OptionsClipboard.AllowCopy = DefaultBoolean.True;
grid.OptionsBehavior.Editable = true;
grid.OptionsBehavior.ReadOnly = false;
grid.OptionsView.EnableAppearanceOddRow = true; // 使能 // 和和上面绑定 同时使用有效
grid.Appearance.EvenRow.BackColor = Color.FromArgb(244, 248, 251); // 设置偶数行颜色
grid.OptionsView.EnableAppearanceEvenRow = true;
grid.Appearance.OddRow.BackColor = Color.White; // 设置偶数行颜色
grid.RowHeight = height;
grid.ColumnPanelRowHeight = height;
grid.GroupRowHeight = height;
grid.BestFitColumns();
}
///
/// 绑定普通编辑视图设置
///
///
///
public static void SetBindingNormalEditView(this GridView grid, int height = 35)
{
grid.OptionsFind.FindNullPrompt = "检索";
grid.OptionsSelection.MultiSelect = false;
grid.OptionsMenu.EnableColumnMenu = true;
grid.OptionsSelection.EnableAppearanceFocusedCell = false;
grid.Appearance.HeaderPanel.TextOptions.HAlignment = HorzAlignment.Center;
grid.Appearance.Row.TextOptions.HAlignment = HorzAlignment.Center;
grid.FocusRectStyle = DrawFocusRectStyle.RowFullFocus;
grid.OptionsCustomization.AllowFilter = true;
grid.OptionsCustomization.AllowSort = true;
grid.OptionsCustomization.AllowQuickHideColumns = false;
grid.OptionsView.ShowAutoFilterRow = false;
grid.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
grid.OptionsView.NewItemRowPosition = NewItemRowPosition.Bottom;
grid.OptionsView.ShowGroupPanel = false;
grid.OptionsClipboard.AllowCopy = DefaultBoolean.True;
grid.OptionsBehavior.Editable = true;
grid.OptionsBehavior.ReadOnly = false;
grid.RowHeight = height;
grid.ColumnPanelRowHeight = height;
grid.GroupRowHeight = height;
grid.BestFitColumns();
}
///
/// 绑定限制编辑视图设置
///
///
///
public static void SetBindingLimitEditView(this GridView grid, int height = 35)
{
grid.OptionsFind.FindNullPrompt = "检索";
grid.OptionsSelection.MultiSelect = false;
grid.OptionsMenu.EnableColumnMenu = false;
grid.OptionsSelection.EnableAppearanceFocusedCell = false;
grid.Appearance.HeaderPanel.TextOptions.HAlignment = HorzAlignment.Center;
grid.Appearance.Row.TextOptions.HAlignment = HorzAlignment.Center;
grid.FocusRectStyle = DrawFocusRectStyle.RowFullFocus;
grid.OptionsCustomization.AllowFilter = false;
grid.OptionsCustomization.AllowSort = false;
grid.OptionsCustomization.AllowQuickHideColumns = false;
grid.OptionsView.ShowAutoFilterRow = false;
grid.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
grid.OptionsView.NewItemRowPosition = NewItemRowPosition.Bottom;
grid.OptionsView.ShowGroupPanel = false;
grid.OptionsClipboard.AllowCopy = DefaultBoolean.True;
grid.OptionsBehavior.Editable = true;
grid.OptionsBehavior.ReadOnly = false;
grid.RowHeight = height;
grid.ColumnPanelRowHeight = height;
grid.GroupRowHeight = height;
grid.BestFitColumns();
}
///
/// 显示ViewCaption
///
///
///
public static void ShowViewCaption(this GridView grid, int height = 35)
{
grid.OptionsView.ShowViewCaption = true;
grid.ViewCaptionHeight = height;
grid.Appearance.ViewCaption.TextOptions.HAlignment = HorzAlignment.Near;
}
///
/// GridView注册显示行标
///
///
public static void RegistCustomDrawRowIndicator(this GridView grid, int IndicatorWidth = 35)
{
grid.OptionsView.ShowIndicator = true;
grid.IndicatorWidth = IndicatorWidth;
grid.CustomDrawRowIndicator += (sender, e) =>
{
if (e.Info.IsRowIndicator && e.RowHandle >= 0)
{
e.Info.DisplayText = (e.RowHandle + 1).ToString().Trim();
e.Appearance.TextOptions.HAlignment = HorzAlignment.Far;
}
};
}
///
/// 注册自定义组名
///
///
///
///
public static void RegistCustomGroupRow(this GridView grid, GridColumn col, Func