支持多重表头

构造多重表头功能适用于所有页面, 不从母版继承的页面也可以直接使用.

使用方法:

gv1 RowDataBound 事件中:

    public void gv1_RowDataBound(object sender, GridViewRowEventArgs e)

    {

        if(e.Row.RowType== DataControlRowType.Header)

            MLT.Share.CreateMultipleHeader(gv1, e, new MLT.Share.MultipleHeaderConfig(22, 28, "代扣缴款项").CreateList());

}

   上面的示例代码中: 配置类的三个参数分别是gridview 中的起始列号, 终止列号和显示文本, 如图:

                  

                   其中,"办卡"是第22, “所得税是第28, 文本代扣缴款项显示在它们上方.

                   , 在设计时忽略多重表头, 仍然按单行设计整个gridview, 直到绑定事件中, 才把需要格式化为多重的信息提供给配置函数.

 

                   如果有多个多重表头区域:

        if(e.Row.RowType== DataControlRowType.Header)

        {

            MLT.Share.MultipleHeaderConfig conf = new MLT.Share.MultipleHeaderConfig(22, 28, "代扣缴款项");

            var conf2 = new MLT.Share.MultipleHeaderConfig(29, 30, "表头2");

            var conf3 = new MLT.Share.MultipleHeaderConfig(31, 32, "表头3");

            MLT.Share.CreateMultipleHeader(gv1, e, conf.CreateList(conf2,conf3));

        }

                   只要给每个区域定义一个配置对象, 最后都放到CreateList 函数中即可. CreateList 函数可以接受任意多个参数.

                   需要注意的是, conf.CreateList(conf2,conf3) , 函数会自动把当前对象加入到列表中, 所以参数列表中不要再出现当前对象.

                   , conf2. CreateList(conf,conf3) 也是一样的.

 

         关于导出到Excel :

1)       从母版继承的页面
InitMaster 函数中, CreateList的结果赋给Master.MultipleHeader 属性即可.
例如:
Master.MultipleHeader = new MLT.Share.MultipleHeaderConfig(22, 28, "代扣缴款项").CreateList();
如果有多个多重区域, 参照绑定事件中的写法即可.

注意: 以前那种拼字符串的写法是不能成功导出到Excel. 除非自定义导出事件.

2)       不从母版继承的页面.

a)         自己写TableCellCollection, 调用ToExcel 里面的方法. Collection的创建方法就是系统中目前处理多行表头的方法,
逐格设置, 最后一格拼字符串.

b)         采用跟母版一致的做法. 参考QueryPage.cs 中函数btnExport_Click的实现.

fj.png1.JPG

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/716080/viewspace-555658/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/716080/viewspace-555658/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一个跨平台的C++应用程序开发框架,提供了丰富的控件和功能,可以用于开发各种类型的应用程序。 在实现表格树控件时,如果需要支持多级表头,可以借助Qt的QHeaderView类来实现。QHeaderView类是Qt中用于表格或树型视图的表头控件,它可以显示列或行的标题,并且支持拖动和调整列宽度。 首先,创建一个QTreeView控件作为表格树控件的显示部分。然后,创建一个QHeaderView对象作为表格树控件的表头,使用setModel()函数将表头设置给表格树控件。接下来,设置表头的显示模式为水平模式,使用setSectionResizeMode()函数设置每一列的调整方式,例如,可以设置为可以自动调整大小或者禁止调整大小。 为了支持多级表头,可以使用QHeaderView的addSection()函数来添加多级表头。逐级添加表头时,需要设置每一级表头的标签、起始列、列数和对齐方式。可以使用setHeaderData()函数为每一级的表头设置样式。 接着,使用setHeaderHidden()函数将QTreeView的默认表头隐藏起来,这样就只展示了我们自定义的多级表头。同时,可以使用setRootIsDecorated()函数将树节点的展开和收缩图标隐藏起来,以使得表格树控件更加美观。 最后,将数据模型设置给QTreeView控件,通过添加树节点和设置节点的父子关系,来组织表格树的数据结构。数据模型可以继承自QAbstractItemModel类,实现相关的接口函数,以提供数据的展示和操作。 通过以上步骤,我们就可以实现一个支持多级表头的表格树控件。用户可以通过拖动和调整表头以调整列宽度,同时展示复杂的表头结构,方便显示和操作大量数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值