.Net 【DevExpress】 GridControl常用功能


说明

GridControl是devexpress中的表格控件,有很多玩法,也有很多坑,记录一下遇到的问题。

隐藏group

刚拖进来的GridControl总是有个header "Drag a column header here to group by that column",一般用不到,隐藏设置

OptionView->ShowGroupPanel->false

gridcontrol显示标题(Caption)

选择gridcontrol->run designer

Caption用来显示标题
ColumnEdit 选择显示控件的类型
FileName 需要绑定现实的字段(类的属性或者数据库列名)

gridControl 分组显示

(例如按照字段group分组)

gridView.Columns["group"].GroupIndex = 0;
gridView.ExpandAllGroups();
gridView.GroupSummary.Add(SummaryItemType.None, "group", null);

gridControl 显示行号

private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)  
{  
    if (e.Info.IsRowIndicator)  
    {  
        e.Info.DisplayText = "Row " + e.RowHandle.ToString();                 
    }  
}  
gridView.IndicatorWidth = 70; 

隐藏显示行号的那一列

RunDesigner->Views->Options->OptionsView->ShowIndicator

右键菜单

OptionMenu->EnableColumnMenu

水平滚动条

gridView.OptionsView.ColumnAutoWidth = false

设置列的标题居中显示

Designer - Views -右侧输入框中输入Appearance-HeaderPanel-TextOptions-设置HAlignment为Center

设置不可编辑

gridcontrol -->gridview -->OptionsBehavior -->Editable=false

在gridcontrol列表控件中使用单选框作为选择列

这里有两种方式

  • 选择gridcontrol控件的Run Designer按钮,选中gridview,设置gridview的MultiSelect和MultiSelectMod->CheckBoxRowSelect

  • 选择gridcontrol控件的Run Designer按钮,添加一列,设置该列的ColumnEdit为checkedit,设置gridview的optionscolumn的AllowEdit为false(设置改列不可编辑)

GridControl页面修改了列值后直接获取值获取不到

使用PostEditor更新DataSource?

this.gridView.PostEditor();
var dt = this.gridControl.DataSource as DataTable;