历史版本10 :下拉树控件普通分层构建示例 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

下拉框参数具有多层树状结构的数据,效果如下图所示:

效果展示.png

1.2 实现思路

通过分层构建下拉树控件在下拉树数据定义界面选择对应的数据集。其实就是 FR 中的动态 SQL,在这里需要将每个 SQL 定义为一个报表数据集。

2. 示例编辑

2.1 准备数据

数据集 ds1,查询出所有地区,SQL 语句为:SELECT 货主地区 FROM 订单 where 货主地区!=""

DS1.png

数据集 ds2,根据第一层 layer1 的值查询出省份,SQL 语句为:SELECT  货主省份 FROM 订单 where 货主省份!="" and 货主地区='${layer1}'

DS2.png

数据集 ds3,根据前两层 layer1、layer2 的值查询出城市,SQL 语句为:SELECT  货主城市 FROM 订单 where 货主城市!="" and 货主地区 = '${layer1}'and 货主省份='${layer2}'

DS3.png

注:这里是通过 layer1、layer2 来引用,以此类推。其中 layer1,layer2 等均是预定义好的,不可更改。

2.2 设计报表

1)参数面板拖入下拉数选框

参数面板.png

2)选择属性表>高级>数据字典,构建方式选择普通分层构建,选择每层对应的数据集,下拉树便完成了。操作方式如下图:

1)第一层

222

2)第二层

222

3)第三层

222

下拉数三种构建方式说明:

1)极速分层构建:https://help.fanruan.com/finereport/doc-view-1990.html

2)自动构建

自动构建树能够根据数据自动构建出下拉树,无需一层一层定义数据,但是其必须使用树数据集来构建。

3)普通分层构建

不是所有的数据都能自动构建出下拉树,因此需要分层构建。

  • 层次 1:通过 数据字典 来定义下拉框的实际值与显示值。

  • 层次 2:根据层次1的数据进行过滤,需要定义成数据集,然后通过数据查询返回数据集定义的列。数据集定义成:SELECT 字段 FROM 表名 WHERE 层次1的字段 = '${layer1}'

注:layer1 表示取层次 1 节点的值,若在层次 3 中调用,则是 SELECT 字段 FROM 表名 WHERE 层次2的字段 = '${layer2}'依次类推。

2.3 效果查看

1)PC端

点击分页预览,效果如下图所示:

效果展示.png

2)移动端

移动端.png

3.模板下载编辑

已完成模板,可参考:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\下拉树控件普通分层构建.cpt

点击下载模板:下拉树控件普通分层构建.cpt