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


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值