历史版本3 :参数查询数据库任一表 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
1.1 预期效果
选择任意一个表名进行查询,能够查出该表对应的内容。如下图所示:
1.2 实现思路
使用TABLEDATAFIELDS()公式获取数据集每一列的列名
使用ds1.select()公式获取对应列的内容。关于ds1.select()公式的使用,请参见 ds1.select()和ds1.group()函数的使用 。
2. 操作步骤编辑
2.1 数据准备
在 FineReport 设计器中,点击文件>新建普通报表,新建模板数据集 ds1 ,SQL 语句为:select * from ${table}
如下图所示:
2.2 模板设计
1)鼠标右键点击 A1 单元格,选择单元格元素>插入公式,公式为:TABLEDATAFIELDS("ds1") ;
鼠标右键点击 A2 单元格,选择单元格元素>插入公式,公式为:ds1.select(A1)。
2)选中 A1 单元格,在右侧属性面板单元格属性>扩展>扩展方向中选择「横向」;
选中 A2 单元格,在右侧属性面板单元格属性>扩展>扩展方向中选择「纵向」。
下图为 A1 单元格的设置步骤,其中 A2 单元格设置步骤与 A1 单元格相同。如下图所示:
2.3 参数面板
1)在参数面板中添加参数「table」,如下图所示:
2)控件选择「下拉框控件」,控件值为「sale」;
数据字典设置时类型设置选择为「公式」,实际值的公式为:TABLES("FRDemo")。
如下图所示:
2.4 预览效果
2.4.1 PC 端
保存模板,点击分页预览,效果如本文中 1.1 章「预期效果」一样。
2.4.2 移动端
1)APP
2)HTML5
3. 已完成模板编辑
已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\DynamicCol\动态表.cpt
点击下载模板:动态表.cpt