ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 支持多重表头

支持多重表头

原创 Linux操作系统 作者:liuwei_sh 时间:2009-02-19 13:15:07 0 删除 编辑

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

使用方法:

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的实现.

1.JPG

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

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-05-08

  • 博文量
    5
  • 访问量
    4330