FastReport已实现纵向合并,具体请点击这里
纵向合并主要是指相邻的行如果内容相同,则合并单元格,如下:
原图:
合并之后:
在实现纵合合并之后,继续实现横向合并,目前有两种样式:
1、当前单元格内容为空时,与左边的单元格合并为一个单元格
2、当前单元格内容与左边单元格内容相同时合并为一个单元格
FastReport需要设置为扫描两遍才能执行合并,先执行纵向合并,然后执行横向合并,在执行横向合并时先检测左边单元格与当前单元格高度是否相同,只有高度相同且符合合并要求时才执行合并,合并后效果如下:
原图:
可以在任意列上设置单元格纵向合并与横向合并,也可以设置在同一列上,并不冲突,下图 1-5列实现纵向合并,第8列实现横向合并:
设置第3列(装别列)的纵向合并不参考第2列值,然后再设置第4列(色别列)横向合并,效果如下:
以上是常用的常用的纵向合并与横向合并方式,目前纵向合并有两种方式,横向合并也有两种方式,因此不同方式组合可以产生不同的效果,以上这些合并在FastReport中不需要写一行代码,仅通过设置属性即可实现。
纵向合并属性:
MergeCell :是否纵向合并
MergeCellBySibling:纵向合并时是否参考左边列的值
横向合并属性:
MergeLeft:是否与左边单元格横向合并,值相同的合并
MergeLeftWhenEmpty:当前单元格内容为空时是否与左边单元格合并
横向合并两个属性不能同时设置在一列上(即每列只能选择其中一种方式)