求ireport5.6 动态报表的样例程序

要求能够动态添加列和列的内容... 要求能够动态添加列和列的内容 展开
 我来答
所谓伊人_在水
2016-09-29 · 超过23用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:42.7万
展开全部

我不是很清楚ireport5.6是怎么制作动态列的,但是之前看到一个同时用finereport制作过动态列,感觉大致步骤应该是差不多的。

1、打开模板

2、修改数据集

将数据集修改为:SELECT${col}FROM销量

设置参数col,默认值为*,查询出所有数据

3、表样设计

由于不确定用户选择的字段个数,因此制作模板时需要拖入所有字段。此默认参数即为查询出全部,我们将该表的5个字段依次拖入模版中,并设置数据列属性为列表;

另外不确定用户会选择哪些字段,因此拖入的字段不能用固定的列名。选中数据列所在单元格,将列名改为列序号,如下图

表头设置,A1单元格内容使用公式=INDEXOFARRAY(split($col,","),1),将$col参数转换成数组,返回数组里的第一个的值,B1、C1、D1、E1分别返回第二、三、四、五个的值,如下图:

由于列是不固定的,所以要将数据列的名称换成#1,#2,#数字代表数据对应的第几列,#1表示第一列的数据。

将报表参数删除

4、报表边框和表头背景设置

给A2-E2增加条件属性,点击要改变的属性选择边框,选择公式,在公式中输入:len($$$)!=0,即单元格有数据的话显示边框。
给A1-E1增加条件属性,点击要改变的属性选择背景和边框,选择公式,在公式中输入:len($$$)!=0,即单元格有数据的话显示背景和边框。

公式len($$$)!=0中,如果单元格数据类型为字符串,则公式应为len('$$$')!=0。

5、效果查看

希望可以帮到您,愿采纳。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式