http://blog.runqian.com.cn/?p=1405
报表应用中,报表格式和显示效果要求往往比较严格,有时需要根据报表数据动态改变报表的行高或列宽,这就需要报表工具具备相应的能力。在润乾集算报表中,可以通过公式动态设置报表的行高列宽,下面通过一个实例说明如何实现。
目标报表要求根据用户输入地区参数动态改变统计图所在列宽度或行高度,如:
当参数为“东北,华北,华东”时,显示效果如下:
但参数为“东北,华北,华东,华南,西北,西南”时,显示效果如下:
从上面的效果可以看出,当地区参数不同时,柱图和条形图所在行列的宽度和高度随之改变,从而保证统计图显示效果。
以下为实现步骤:
连接报表数据源
使用集算报表设计器自带的demo数据源:
设置报表参数
新建报表并设置报表参数,参数area类型为字符串组:
设置数据集
设置报表数据集为SQL检索:
SQL为:SELECT 订单.订单ID,订单.货主地区,订单明细.单价,订单明细.数量 FROM 订单,订单明细 WHERE 订单.订单ID = 订单明细.订单ID and 货主地区!=” and 货主地区 in (?)
其中,?对应area参数:
编辑报表表达式
编辑表达式,报表设计如下:
设置动态列宽,其中B列宽度表达式设置为40*count(A2{}),根据地区数量决定列宽:
同样的方式设置第4行行高:
通过如上设置,即可实现动态行高列宽的报表。在实际应用中,用户可以根据自身需求编写行高列宽表达式来实现动态控制的效果。