帆软 FineReport 动态列如何设置

最近有个需求是用采购的帆软报表来动态展示数据,记录下来,方便备查。
环境准备
帆软 FineReport V9.0
以用户信息统计表为例,具体操作步骤如下。

第一步、设置查询信息集

新建信息集 Data,在编辑栏中 输入查询的SQL,查询 tb_user 表,其中 ${cols} 为变量,可以在 定义其的数值。

// ${cols} 表示列
SELECT
	${cols}
FROM
	tb_user
GROUP BY
	${cols}

定义变量${cols} 即 tb_user 表中想动态展示的列,设置如下图所示。
帆软 FineReport 动态列如何设置_第1张图片

第二步、设置复选框数据集

新增 复选框控件 clos ,设置 数据字典,这里选择自定义,手动添加 页面显示值与实际对应值的关系,即 tb_user 表中要动态显示的列。注意 实际值要与上一步 ${cols} 给定的值一致。
帆软 FineReport 动态列如何设置_第2张图片
设置完成,切记要点击保存,在本地预览效果,复选框的值选项便添加成功了,效果如下图所示。
帆软 FineReport 动态列如何设置_第3张图片

第三步、数据绑定

完成上面两个步骤,接下来绘制报表,拖动左侧子查询的列,到右侧的编辑区域,效果如下图所示。
帆软 FineReport 动态列如何设置_第4张图片
报表上添加了 制表时间 添加公式,获取当前为其值,右侧编辑栏,插入元素-插入公式。
帆软 FineReport 动态列如何设置_第5张图片
设置公式,点击 检查合法性,来验证写入的公式是否正确。
帆软 FineReport 动态列如何设置_第6张图片
在预览页面,查看数据绑定是否成功,点击查询后,数据展示出来,但只选中 用户名 和 性别两列,但把所有的结果都查询出来了,如下图所示。
帆软 FineReport 动态列如何设置_第7张图片

第四步、设置动态列属性

接上面的问题,如何让选择的列显示,其他的列不显示呢?
以第一列为例,选中 展示列,右侧 编辑栏,添加条件属性,重命名为 用户名。
帆软 FineReport 动态列如何设置_第8张图片
选择列宽,新增一行 列宽为0,类型选择 公式。
帆软 FineReport 动态列如何设置_第9张图片
公式中运用 函数 INARRAY 来匹配是否存在。记得要点击添加,保存到下方区域

INARRAY('username', $cols) = 0

在页面预览,再次查看效果,只展示出选择的 用户名和性别,如下图所示。
帆软 FineReport 动态列如何设置_第10张图片

第五步、页面显示转换

接第四步、页面显示的性别是1和2,如何让他们显示为男或女呢?
选中 数据栏单元格,右侧编辑栏,切换到 形态页签,选择数据字典,这里还是选择自定义,手动输入对应关系,1-男 2-女,保存,如下图所示。
帆软 FineReport 动态列如何设置_第11张图片
重新回到预览页面,查询效果,如下图所示。
帆软 FineReport 动态列如何设置_第12张图片

动手试试,有问题的可以下面留言哦~

参考博客

【1】https://help.finereport.com/finereport9.0/doc-view-1845.html

你可能感兴趣的:(数据处理,sql)