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();
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
GridControl 复合表头(多行标题)的更多相关文章
- DevExpress GridControl复合表头(多行表头)设置
关于DevExpress.XtraGrid的复合表头或多行表头的示例,界面如下图所示 1.首先要把DevExpress的GridControl转换为BandedGridView 2.设置显示列及绑定的 ...
- DevExpress GridControl 复合表头/表头分层设计.
首先创建一个窗体,将GridControl控件拖到窗体中. 然后 Click here to change view -> Convert to -> BandedGridView ...
- devexpress实现多行表头(复合表头),附源代码
在许多项目中都会涉及到复合表头(多行表头),这里给大家分享一个devexpress实现多重表头的案例. 1.第一步将表格类型由默认的gridview变为bandedgridview,如图所示: 2.第 ...
- EasyUI中DataGrid构建复合表头
在使用easyui的DataGrid控件时,构建复合表头就显得非常简单了.只需要在使用columns属性时通过数组的方式编写列名即可.如我们需要构建成一个如下的表头: Columns的代码如下: co ...
- WPF DataGrid 复合表头 (实现表头合并,自定义表头)
功能说明: 将 DataGrid嵌套在本控件内,使用Label自定义表头,如果需要上下左右滚动 需要在控件外围添加 ScrollViewer 并且设置 ScrollVisibility 为Auto ...
- 对FineU框架Grid多表头合计行导出Excel的回顾
年前用FineUI开发遇到了这样一个问题,Grid多表头合计行不能导出,后面到官方示例找了一下,庆幸的是找到了多表头的导出示例.然后当时为了省事,直接就复制粘贴完事,也没有仔细的研究代码.后来运行一看 ...
- DataGridView自定义行样式和行标题
定义两个样式对象: //定义两种行样式 private DataGridViewCellStyle m_RowStyleNormal; private DataGridViewCellStyle m_ ...
- DevExpress控件-- Gridcontrol合并表头
写在前面的话: 在园子里逛了有一段时间了,一直想写点东西,但苦于自己的水平有限,生怕写出来的东西浪费了读者的时间.楼主有幸参加了公司DevExpress控件的培训,独乐乐不如众乐乐,特附上Demo以飨 ...
- Datagridview 实现二维表头和行合并【转载】
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...
随机推荐
- 多个div并排显示的居中问题——来自腾讯的一道面试题
前两天曲面了一下腾讯,被鄙视了... 自己太水了,且面试官对我可能也有点不爽,说什么还没叫我我就去了,可是尼玛写的面试时间是3点40,我特码进去的时候都3点50了,我还以为晚了呢,他妈的. 实现几个d ...
- sjtu1585 oil
Description Crystal家的公司最近承包了一个大油田.整块油田为一个矩形区域,被划分为\(n \times m\)个小块. Crystal亲自调查了每个小块的石油储备量.这些数据表示为\ ...
- hdu 3480
斜率dp #include<cstdio> #include<cstring> #include<algorithm> #include<queue> ...
- jquery mobile script
http://blog.csdn.net/lyatzhongkong/article/details/6969913 http://book.51cto.com/art/201209/355980.h ...
- linux0.11下的中断机制分析
http://orbt.blog.163.com/ 异常就是控制流中的突变,用来响应处理器状态中的某些变化.当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表,进行一个间接过程调用, ...
- easyui源码翻译1.32--Pagination(分页)
前言 使用$.fn.pagination.defaults重写默认值对象下载该插件翻译源码 该分页控件允许用户导航页面的数据.它支持页面导航和页面长度选择的选项设置.用户可以在分页控件上添加自定义按钮 ...
- 同一客户代码下一个CPN对应多个FG会出现CPN描述一样的问题
Q&A : D2E01客户下已经存在CPN: TP1062/A 对应FG: P5M2812512AFHHF0 直接在客户代码下无法新建,只能在交叉信息新建CPN: TP1062/A, 但无法修 ...
- -_-#【JS 优化】把 JS 放到底部
一开始为以为Javascript脚本尽量放到页面底部加载,是指所有的JS脚本都要放到底部,后来才发现, 并不完全是这样,这里所指的脚本是指那些在加载过程中要执行的脚本,所以一般的处理办法还是页面头部引 ...
- Codeigniter夸应用调用model
Thinkphp里面的model都是可以跨应用调用,ci本身没有实现这个方法.可是稍微修改下,比Thinkphp用起来更容易调用.找到Loader.php文件的地址/system/core/Loade ...
- apache开源项目--JMeter
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现.