您的位置:首页 > 其它

DevExpress GridControl 后台设置列

2015-05-19 14:59 260 查看
/// <summary>
/// 初始化GridView
/// </summary>
/// <param name="gv">GridView 名称</param>
/// <param name="captions">列标题</param>
/// <param name="fieldName">列字段</param>
/// <param name="widths">宽度 如果宽度为0 则列隐藏</param>
public void InitGrid(DevExpress.XtraGrid.Views.Grid.GridView gv,string[] captions, string[] fieldName, int[] widths) {
//列标题 和列名个数是否匹配
if (captions.Length != fieldName.Length) {
MessageBox.Show("列标题和列名个数不匹配");
return;
}
//清空列
gv.Columns.Clear();
//定义一列
DevExpress.XtraGrid.Columns.GridColumn gc = null;
//声明列数组
DevExpress.XtraGrid.Columns.GridColumn[] gcs = new DevExpress.XtraGrid.Columns.GridColumn[captions.Length];
//列设置
for (int i = 0; i < captions.Length; i++) {
gc = new DevExpress.XtraGrid.Columns.GridColumn();
gc.Caption = captions[i];
gc.FieldName = fieldName[i];
gc.Name = fieldName[i];
gc.VisibleIndex = i;
//默认显示,如果宽度=0 ,则隐藏
gc.Visible = true;
if (widths != null)
{
//如果列宽的个数与标题个数相同
if (widths.Length == captions.Length)
{
gc.Width = widths[i];
gc.Visible = (widths[i] != 0) ? true : false;
}
}
gcs.SetValue(gc, i);
}
//gv 增加列
gv.Columns.AddRange(gcs);
//列宽为空则自适应宽度
gv.OptionsView.ColumnAutoWidth = (widths == null) ? true : false;

//gv 数据列表设置
gv.OptionsFind.AllowFindPanel = false;
gv.Appearance.HeaderPanel.Options.UseTextOptions = true;
gv.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gv.OptionsView.ShowGroupPanel = false;

//列宽为空
if (widths == null) {
gv.BestFitColumns();
}
}


调用(举例):

//数据列表 加载
InitGrid(gridView1,
new string[]{"列标题1","列标题2","列标题3","列标题4"},
new string[]{"字段1","字段2","字段3","字段4"},
new int[]{100,50,60,90});


版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: