历史版本17 :下拉树实现数据集过滤 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1应用场景

下拉树实现数据集过滤,有以下两种方式:

1)单选下拉树:参数过滤条件只能单个

2)多选下拉数:参数过滤条件可以是单个可以是多个

效果如下图所示:

效果预览.png

1.2实现思路

通过设置参数面板属性勾选是否多选实现,实现下拉数单多选功能。

实现思路.png

2. 示例编辑

2.1 数据准备

新建数据集 ds1:SELECT * FROM S订单  where 1=1 ${if(len(aa)==0,""," and 货主城市 = '"+treelayer(aa)+"'")}

DS1.png

新建数据集 layer1:SELECT  货主地区 FROM 订单 where 货主地区!="" 

LAY1.png

新建数据集 layer2:SELECT  货主省份 FROM 订单 where 货主省份!="" and 货主地区='${layer1}'

LAY2.png

新建数据集 layer3:SELECT  货主城市 FROM 订单 where 货主城市!="" and 货主省份='${layer2}'

LAY3.png

注:数据集 ds1 中使用到了 treelayer 函数,即取得参数 aa 的最后一层值,详细用法请查看 treelayer 函数

如果下拉树属性中不勾选结果返回完整层次路径,那么下拉树返回值不是路径值,故无需使用 treelayer 函数对下拉树返回值进行再次修改,直接使用即可,此时,可以将ds1数据集的 SQL 语句修改为:SELECT * FROM [S订单] where 1=1 ${if(len(aa)==0,""," and 货主城市 = '"+aa+"'")}

2.2 设计报表

1)在参数界面由参数 aa 生成控件,控件类型选择下拉树

222

2)下拉树的数据字典选择分层构建方式,数据来源是 layer1,layer2 和 layer3,具体使用方法清查看 下拉树分层构建示例

添加数据集.png

3)报表块设计以下内容,并分别拖入对应字段。

2.3单选下拉树设置

设置参数面板属性取消勾选多选框。

实现思路.png

2.4多选下拉树设置

设置参数面板属性取消勾选多选框。

多选.png

2.5效果预览

3. 模板下载编辑

1)单选下拉树实现数据集过滤已完成模板请参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\widgetReport\单选下拉树实现数据集过滤.cpt

点击下载模板:单选下拉树实现数据集过滤.cpt

2)多选下拉树实现数据集过滤已完成模板请参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\widgetReport\多选下拉树实现数据集过滤.cpt

点击下载模板:多选下拉树实现数据集过滤.cpt