1、实现思路通过定义数据集参数直接选出需要展示的列,将数据列拖入到单元格中。
2、打开模板打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\DynamicCol\DynamicCol.cpt。
3、修改数据集将数据集修改为:SELECT ${col} FROM [销量]设置参数col,默认值为*,查询出所有数据。
4、表样设计由于不确定用户选择的字段个数,因此制作模板张虢咆噘时需要拖入所有字段。此默认参数即为查询出全部,我们将该表的5个字段依次拖入模板中,并设置数据列属性为列表;另外不确定用户会选择哪些字段,因此拖入的字段不能用固定的列名。选中数据列所在单元格,将列名改为列序号,如下图:最终模板效果如下:注:由于列是不固定的,所以要将数据列的名称换成#1,#2,#数字代表数据对应的第几列,#1表示第一列的数据。将报表参数删除。
5、边框设置给A1-E1增加条件属性,点击要改变的属性选择边框,选择公式,在公式中输入:len($$$)!=0,即单元格有数据的话显示边框。注:公式len($$$)!=0中,如果单元格数据类型为字符串,则公式应为len('$$$')!=0。
6、效果查看点击分页预碎茯钍婵览,当选择对应的一些数据列,点击查询就展示对应选择列的数据,如下图所示:在线查看模板效果请点击DynamicCol1.cpt具体模板可参考:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameterr\DynamicCol\DynamicCol1.cpt。注:若数据量非常大的情况下,此方法可以实现分页查询的效果来提高性能,具体的设置方法可参考多数据集实现层式报表章节文档。