关于rdlc报表纵向合并报头的制作

   初学rdlc报表,浏览过评价很高的蜡人张的后,觉得对rdlc报表的应用掌握的还不是很多!对于他1-8篇的博客,感觉讲的很深入,正因如此也就云里雾里看不懂了。可一般性的报表,看些简单的例子也就可以做出来!最基础的rdlc报表制作,可以对rdlc入门。Rdlc报表的进阶看完后估计能做出大部分的报表。在搜索过这些人的博客后,感觉对报表掌握的差不多!然后就把所学到的知识运用以项目的报表设计中!可一看求的报表表头(下图)傻眼了!  

关于rdlc报表纵向合并报头的制作_第1张图片

  对于这种rdlc报表的制作从网上搜索到介绍没有多少!因为rdlc报表的列可以合并,行不可以合并,如果用记事本打开rdlc文件的话,可以看到它本身是xml格式的文档!可通过修改它也无法做到行的合并!可能我搜索的地方还不够多吧不过也就一个方案!如下。

方案:对Table表头新增一行!设置两行之间的Border不显示!显示出来的可能达到预期的效果,不过字体很分散,导出的excel文件还是会有边框!这种常觉得很不合适!也就没采用!

于是乎,还搜索中看完我Rdlc报表的进阶后(自我感觉是,呵呵!),基本上了解了rdlc各个控件的使用,中间想到了几种方案。

方案一:表头还是用显示数据的Table控件的Head(表头)!所以这里就不存在纵向合并问题!所有的内容都在一个单元格里显示!这样有此单元格里要显示这个怎么实现了,再看看报表控件里的控件!我想到了TableMatrix,先把需要这种格式的两列表头合并,由于Matrix不是很熟,并且列,行都不能合并!所以直接没考虑!于是乎往Head单元格里托入一个Table控件,删除(详细信息行,删除一列)拖动托入的Table边框调整其与主Table下面详细信息行的单元格对齐!这样样式就出来了!不过一打印,问题又出来了,报表控件里可以显示正常,但导出的excel文件里,托入Table控件的单元格里的数据在Excel里面不显示!这个方案不行!

         方案二:在要显示多行的单元格里放入矩行控件,然后的矩行控件里添加TextBox控件,调整TextBox控件Width,Height让它与单元格Width,Height大小相等!有了这个思路就开始行动!托完之后,样式出来,可打印Excel文件样式依然不完美(纵向有多余的列)!于是我又重新计算了计算插入的TextBox控件的Size与其下方对应列的大小,在算完两张纸后,导出测试大概快到100次的时候,终于成功了!

         导出excel效果图

 

关于rdlc报表纵向合并报头的制作_第2张图片  想达到效果关键是要计算你托入的TextBox控件的SizeLocation和!同理它们的Height!做完之后,要多测试,因为这种计算有一点误差,导出Excel格式就不正确!要想导出的Excel带头且格式正确,带的头的TextBox也得计算!呵呵!做完之后rdlc原文件,以及导出的excel文件大家打开看看就知道!

/Files/zhaodyun/rdlc.rar

你可能感兴趣的:(报表)