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

时间: 2024-08-01 01:57:56

DevExpress GridControl 后台设置列的相关文章

在DevExpress GridControl的一列中显示图片

最近做项目的时候用到了将GridControl中一列设置为PictureEdit类型,然后通过这一列来显示图片.经过尝试发现有以下两种方式可行. 方法一.知道图片的路径与名称 比如:在数据库中存储了图片的路径(包括:本地路径.服务器路径),那么在可以通过非绑定列的方式来实现. 1.创建了一个非绑定列并设置其相应的属性,属性设置如下: FieldName设为 Photo(该字段名必须是唯一的) UnboundType设为 UnboundColumnType.Object ColumnEdit设为R

DevExpress GridControl 按扭列的操作

为Winform 中的DevExpress GridControl某列添加按扭列,定义全局变量 RepositoryItemButtonEdit m_OperateFoodBtn = new RepositoryItemButtonEdit(); RepositoryItemButtonEdit m_OperateClothBtn = new RepositoryItemButtonEdit(); 设置相关属性方法 private void SetEditBtn(RepositoryItemBu

devexpress GridControl 行指示列图标绘制

Row Indicator Panel The row indicator panel represents a region displayed at the left edge of the View. The panel contains row indicator cells corresponding to different View sections (the band header panel, the column header panel, data rows, the Vi

DevExpress GridControl 使用方法技巧 总结 收录整理

一.如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 二.如何新增一条记录 (1).gridView.AddNewRow() (2).实现gridView_InitNewRow事件 三.如何解决GridControl记录能获取而没有显示出来的问题 gridView.populateColumns(); 四.如何让行只能选择而不能编辑(或编辑某一单元格) (1).View->OptionsBehavior->

[Devexpress]GridControl 绑定DataSource时GridView列不变化

Devexpress  GridControl 绑定DataSource时GridView列不变化 1.使用VS自带的DataGridView替代 2.数据绑定以后调用 gridView.PopulateColumns()  函数 重新创建列 gcSummary.DataSource = _dtData; gvSummary.PopulateColumns();

[DevExpress]GridControl 同步列头checkbox与列中checkbox状态

关键代码: /// <summary> /// 同步列头checkbox与列中checkbox状态 /// </summary> /// <param name="view">GridView</param> /// <param name="fieldeName">需要绘制Checkbox的列名</param> /// <param name="e">Mouse

[DevExpress]GridControl根据列来选中一行

关键代码: /// <summary> /// 根据列来选中一行 /// </summary> /// <param name="gridView">GridView</param> /// <param name="colName">列名称</param> /// <param name="colValue">列值</param> public st

[DevExpress]GridControl 列头绘制Checkbox

关键代码: /// <summary> /// 为列头绘制CheckBox /// </summary> /// <param name="view">GridView</param> /// <param name="checkItem">RepositoryItemCheckEdit</param> /// <param name="fieldName">需要

DevExpress学习之ASPxGridView后台增加列

public void BindRecordList() { String sqlAll=”select ID,”; if (ASPxGridView1.Columns.Count == 0) { //手动绑定数据 DevExpress.Web.ASPxGridView.GridViewDataTextColumn dl = newDevExpress.Web.ASPxGridView.GridViewDataTextColumn(); dl.Caption = "显示出来的头部";