下拉树控件默认全选

  • 文档创建者:caixiaolan
  • 编辑次数:10次
  • 最近更新:RosieY 于 2020-09-28
  • 1. 概述

    1.1 预期效果

    下拉树选择参数时,希望默认全选,下拉树中显示“选中”状态,且默认值返回完整的节点路径。效果如下图所示:

    222

    1.2 实现思路

    通过属性>控件值,默认勾选全部下拉参数。

    实现思路.png

    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:

    1600236998163552.png

    层次2:

    1600237024803001.png

    层次3:

    1600237040921111.png

    3)设置属性>高级>多选,高级>结果返回叶子节点,高级>结果返回完整层次路径。

    属性设置.png

    4)属性表>高级>控件值,选择公式,弹出公式定义对话框,输入公式,如下图所示:EVAL("["+JOINARRAY(sql("FRDemo", "select '['||''''||货主地区||''''||','||''''||货主省份||''''||','||''''||货主城市||''''||']' from 订单", 1), ",")+"]") 

    实现思路.png

    下拉树默认值设置,要求默认值必须填写节点的完整路径,详细内容可以参考:下拉树默认值设置 ,所以下拉树默认全选,就要在下拉树控件值处以一定格式填写下拉树所有节点的完整路径。

    举例:如两个子节点北京、济南,就要将节点路径写成字符串 [['华北','北京','北京'],['华东','山东','济南']],最后通过 EVAL 函数让下拉树呈现出选中节点的状态。

    公式解释

    以下用 * 代替 sql("FRDemo", "select '['||''''||货主地区||''''||','||''''||货主省份||''''||','||''''||货主城市||''''||']' from 订单", 1)

    步骤
    作用公式说明
    *
    取出 FRDemo 中订单表的货主地区、货主省份、货主城市字段,将这三个字段拼接成节点完整路径,返回值为数组,每一个节点的完整路径对应该数组的一个元素。

    SQL(CName,sql,col,row)返回通过 sql 语句从 CName 数据连接中获得的数据表的第col列第row行

    "["+JOINARRAY(*, ",")+"]"将拼接得到的节点路径数组转换成字符串,再在字符串两端拼接[ ]得到一个包含所有节点路径的表达式字符串。JOINARRAY(array,sepa):返回一个由 sepa 作为分隔符的字符串
    EVAL("["+JOINARRAY(*, ",")+"]")作用下拉树控件,呈现下拉树选中默认值的效果。

    EVAL(exp)返回表达式exp计算后的结果。exp:一个表达式形式字符串

    注:* 式中 || 为字符串拼接运算符,不同类型的数据库中字符串拼接运算符不同,所以实际应用中请根据使用的数据库类型修改拼接运算符。

    另外默认值全选也可以参考 下拉树默认值设置 ,将默认值格式设置成 总部,财务部,部长;总部,财务部,会计 的格式存储在字段中,控件值处选择以「字段」的形式呈现。

    2.3 效果预览

    保存模板,点击分页预览,效果如下图所示:

    注:该方法不支持移动端。

    下拉框效果展示.png

    3. 模板下载

    已完成模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\下拉树控件默认全选.cpt

    点击下载模板:下拉树控件默认全选.cpt

    附件列表


    主题: 参数应用
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!