历史版本4 :参数查询数据库任一表 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 预期效果

选择任意一个表名进行查询,能够查出该表对应的内容。如下图所示:

1572251740524861.gif


1.2 实现思路

  • 使用TABLEDATAFIELDS()公式获取数据集每一列的列名

  • 使用ds1.select()公式获取对应列的内容。关于ds1.select()公式的使用,请参见 ds1.select()和ds1.group()函数的使用 。

2. 操作步骤编辑

2.1 数据准备

在 FineReport 设计器中,点击文件>新建普通报表,新建模板数据集 ds1 ,SQL 语句为:select * from ${table}

如下图所示:

29.png

2.2 模板设计

1)鼠标右键点击 A1 单元格,选择单元格元素>插入公式,公式为:TABLEDATAFIELDS("ds1")

鼠标右键点击 A2 单元格,选择单元格元素>插入公式,公式为:ds1.select(A1)

1572255377766170.png

2)选中 A1 单元格,在右侧属性面板单元格属性>扩展>扩展方向中选择「横向」;

选中 A2 单元格,在右侧属性面板单元格属性>扩展>扩展方向中选择「纵向」。

下图为 A1 单元格的设置步骤,其中 A2 单元格设置步骤与 A1 单元格相同。如下图所示:

1572255479520837.png

2.3 参数面板

1)在参数面板中添加参数「table」,如下图所示:

1572256773470787.png

2)控件选择「下拉框控件」,控件值为「sale」;

数据字典设置时类型设置选择为「公式」,实际值的公式为:TABLES("FRDemo")

如下图所示:

1572257273750091.png

2.4 预览效果

2.4.1 PC 端

保存模板,点击分页预览,效果如本文中 1.1 章「预期效果」一样。

2.4.2 移动端

1)APP

1572257905457624.gif


2)HTML5

1572258435571819.gif

3. 已完成模板编辑

已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\DynamicSQL\参数查询数据库任一表.cpt

点击下载模板:参数查询数据库任一表.cpt