动态列报表 --- 动态选择展示的字段
需求:
动态列报表是据数据或参数动态生成展现列,如果想要取得某表中所有的字段名称,在不使用下拉列表框固定写死的情况下要如何处理呢?

实现方法:
参数模版使用脚本数据集动态获取所有字段名称,创建一个新的序表做为下拉选择的数据,做为参数传给主报表的数据集。即使改变数据库中表的字段,报表中也无须修改。
报表实现步骤
使用 demo 数据库中的员工表测试。
一、创建主报表
数据集为:SELECT ${cols} FROM 员工表 无须设置数据集参数,报表增加参数 cols。


报表设计如下图所示:

其中:
B2 表达式: =to(1,ds1.fcount()) 其中 ds1.fcount() 为获得 ds1 数据集的列数。
B3 表达式: =ds1.fname(B2) 为根据 B2 的列号取对应的数据集的列名。
B4 表达式: =ds1.field(B2) 为获取数据集指定列的数据。
报表保存为:test.rpx
二:创建参数模版
数据集为脚本数据集,写法如下:

数据集预览结果为:

参数模版设计如下:

报表保存为 test_arg.rpx
最后预览报表效果为:

示例报表
zip
