GridControl 复合表头(多行标题)

说明:

最好是通过编辑视图进行设计,后台编码有点麻烦。

例图:(上面的GC是后台编写 ,下面的是设计器设计)

后台代码编写:

 public void InitCtrl() {
            DevExpress.XtraGrid.Views.BandedGrid.BandedGridView view = bgv as DevExpress.XtraGrid.Views.BandedGrid.BandedGridView;
            //开始视图的编辑
            view.BeginUpdate();
            //开始数据的编辑
            view.BeginDataUpdate();
            view.Bands.Clear();

            //因为有band列了,隐藏列标题
            view.OptionsView.ShowColumnHeaders = false;

            //列标题
            DevExpress.XtraGrid.Views.BandedGrid.GridBand bandID = view.Bands.AddBand("Stu_ID");
            bandID.Visible = false;
            DevExpress.XtraGrid.Views.BandedGrid.GridBand bandNnum = view.Bands.AddBand("学号");
            DevExpress.XtraGrid.Views.BandedGrid.GridBand bandName = view.Bands.AddBand("姓名");
            //合并表头显示的标题
            DevExpress.XtraGrid.Views.BandedGrid.GridBand bandSource = view.Bands.AddBand("详细信息");
            DevExpress.XtraGrid.Views.BandedGrid.GridBand bandSex = bandSource.Children.AddBand("性别");
            DevExpress.XtraGrid.Views.BandedGrid.GridBand bandAge = bandSource.Children.AddBand("年龄");
            DevExpress.XtraGrid.Views.BandedGrid.GridBand bandBirth = bandSource.Children.AddBand("生日");

            DevExpress.XtraGrid.Views.BandedGrid.GridBand bandAdd = view.Bands.AddBand("地址");
            //合并表头居中显示
            bandSource.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;

            //是否显示水平滚动条
            view.OptionsView.ColumnAutoWidth = true;
            // panel 值
           // view.GroupPanelText = "学生信息";

            //因为有Band列了,所以把ColumnHeader隐藏
            view.OptionsView.ShowColumnHeaders = false;
            view.OptionsView.ShowGroupPanel = false;

            //列绑定
            string[] str = new string[] { "Stu_ID", "Stu_Number", "Stu_Name", "Stu_Sex", "Stu_Age", "Stu_BirthDate", "Stu_Address" };
            for (int i = 0; i < str.Length; i++) {
                DevExpress.XtraGrid.Views.BandedGrid.BandedGridColumn col = view.Columns.AddField(str[i]);
                //设置该列在编辑视图时的显示位置(倒数第二列)
                col.VisibleIndex = i;
                //设置列格式
               // col.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
                //此列不可编辑
                col.OptionsColumn.AllowEdit = false;
                col.Visible = true;
                //列内容居中
                col.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
                //视图中添加一列
                view.Columns.Add(col);
            }

            //列匹配
            view.Columns["Stu_ID"].OwnerBand = bandID;
            view.Columns["Stu_Number"].OwnerBand = bandNnum;
            view.Columns["Stu_Name"].OwnerBand = bandName;
            view.Columns["Stu_Sex"].OwnerBand = bandSex;
            view.Columns["Stu_Age"].OwnerBand = bandAge;
            view.Columns["Stu_BirthDate"].OwnerBand = bandBirth;
            view.Columns["Stu_Address"].OwnerBand = bandAdd;

            //自适应宽度
            view.BestFitColumns();

            view.EndDataUpdate();
            view.EndUpdate();
        }
时间: 2024-07-31 13:13:07

GridControl 复合表头(多行标题)的相关文章

DevExpress GridControl 复合表头/表头分层设计.

首先创建一个窗体,将GridControl控件拖到窗体中. 然后 Click here to change view  -> Convert to ->  BandedGridView      Run Designer 按照正常的手法添加Columns. 点击 Bands   添加相应的Bands 列  Bands列可以进行随意的拖拽. 然后将相应的列添加到对应的Bands下面.如图: 这些步骤都完成之后,还要设置一处 : Views -> OptionsView : ShowColu

DevExpress GridControl复合表头(多行表头)设置

关于DevExpress.XtraGrid的复合表头或多行表头的示例,界面如下图所示 1.首先要把DevExpress的GridControl转换为BandedGridView 2.设置显示列及绑定的字段 此处设置与我们平常使用GridControl制件一样 3.进入设计视图(见下图),点击Bands, 3.1 添加多个Band,如图中1处按键添加 3.2 布局:拖动相应Band进行布局,根据需要调整Band的位置, 4.3 数据绑定: [点击Show Columns selector 显示之前

VB.NET中自定义GridView的多行复合表头

我们都知道单行表头的合并是很好实现的,只需室友横跨列的ColumnSpan属性就可以实现, 但是在开发中,经常遇到表格的多行复合表头设计的问题,怎么扩展GridView控件以实现多行表头呢? ­要点:先定义第一行各占多少行,多少列,再追加第二行,以此类推 主体思路是这样的,GridView在ASP.NET中最终是转化为html的表格格式来显示的,所以我们要在其中做点文章, 看下面这段代码: 1 ''' <summary> 2 ''' 画面レイアウトより.GridViewのヘッダを設定 3 ''

devexpress实现多行表头(复合表头),附源代码

在许多项目中都会涉及到复合表头(多行表头),这里给大家分享一个devexpress实现多重表头的案例. 1.第一步将表格类型由默认的gridview变为bandedgridview,如图所示: 2.第二步添加数据列,与gridview添加数据列相同,设置好绑定字段及其他属性,如图: 3.设计多重表头,如图所示,最上面的表头为Band,可以添加,然后再按自己的要求摆放. 4.拖放完后大致的效果图如下: 5.数据绑定与gridview数据绑定相同,如下: DataTable dt = new Dat

ASP.NET—014:Gridview复合表头

继续看一个简单的ASP.NET应用.Gridview相信大家使用的比较多了,一般对多行数据进行展示和操作都会用到这个控件.而对于表头,也是很重要的一部分,它负责对数据进行分门别类的.而对于复合表头该如何展示呢?这个也挺简单的.显示复合表头,一般可以在后台通过代码实现.对于表头是由多个Header控件组成的,一般默认的一个Header显示一列.而对于复合表头就是将Header进行设置,让它占用多列或者多行.或者增加很多个Header,然后每个Header分别占用多列或者多行就可以了.来看一个复合的

EasyUI中DataGrid构建复合表头

在使用easyui的DataGrid控件时,构建复合表头就显得非常简单了.只需要在使用columns属性时通过数组的方式编写列名即可.如我们需要构建成一个如下的表头: Columns的代码如下: columns: [[ { field: '_id', title: '行号', fixed: true, rowspan:2 }, { field: '_j', title: '铁路局', fixed: true, colspan:2 } ], [ { field: '_id', title: '京局

silverlight RadGridView 复合表头 多表头 导出excel

ListHeaderShow.Clear(); ListHeaderShow.Add("区县"); ListHeaderShow.Add("企业名称"); ListHeaderShow.Add("监测点名称"); ListHeaderShow.Add("监测时间"); Util.Export<T_DATA_DATACOMMON> Exportxls = new Util.Export<T_DATA_DATAC

复合表头的RadGridView导出excel

public class Export<T> where T : new() { /// <summary> /// gridview导出excel /// </summary> /// <param name="Ttype">行对应的对象 如T_data_datacommon</param> /// <param name="Tsource">gridview的数据源</param>

Datagridview 实现二维表头和行合并【转载】

using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Drawing.Design; using System.Windows.Forms; /// <summary> /// DataGridView行合并.请对属性MergeColumnNames 赋值既可 /// </summary> public parti