中国式树型报表--水晶报表
样式
部门名称 级别 分类
-----------------------------------------------
| | | 内容
| | 分类一 |------------
| | | 内容
| A |---------------------
| | | 内容
| | 分类二 |------------
| | | 内容
*** |--------------------------------------
| | | 内容
| | 分类一 |------------
| | | 内容
| B |---------------------
| | | 内容
| | 分类二 |------------
| | | 内容
----------------------------------------------
使用水晶报表的解决方法:
如果部门,类别,等级没有垂直方向居中的要求,只需要按部门,等级,类别插入三个分组,并依次在组页眉1,组页眉2,组页眉3,详细资料区放入从长到短四个线条,如下:
________________
____________
________
____
再去部门,类别,等级进行格式式控制,在公用选项中的拟止显示复选框右边加上脚本,比如对类别的控制:
if RecordNumber=1 then
formula =false
else
if {table.类别} <> PreviousValue ({table.类别}) then
formula=false
else
formula=true
end if
end if
最终的显示结果与你所发图相似,只是部门,类别,等级位置靠上。如果要求对部门,类别,等级三个字段显示居中,那么就要用公式字段对部门,类别,等级字段的显示位置进行判断,同样处理拟止显示,当前记录在当前分组的合计除2的位置显示,如下
dim x as number
if {table.部门} mod 2=0 then
x={table.部门}\ 2
else
x= {table.部门}\2 +1
end if
if RecordNumber =x then
formula =false
else
formula=true
end if
对类别,等级的判断相对要复杂些。