码迷,mamicode.com
首页 > 其他好文 > 详细

DevExpress GridControl 后台设置列

时间:2015-05-19 16:42:21      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:devexpress   gridcontrol   后台设置列   

  /// <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});

DevExpress GridControl 后台设置列

标签:devexpress   gridcontrol   后台设置列   

原文地址:http://blog.csdn.net/u013816709/article/details/45844813

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!