公式实现参数联动

  • 文档创建者:axing
  • 编辑次数:2次
  • 最近更新:RosieY 于 2020-11-22
  • 1. 概述

    1.1 需求描述

    下拉框参数联动 、下拉复选框参数联动 文档中,实现参数联动是在数据库查询 SQL 中设置参数,但并非所有的数据都来源于 SQL 数据查询,有可能是文件数据集、内置数据集等,这时就需要通过设置公式来实现参数联动。联动效果如下图所示:

    2020-11-22_13-58-33.gif

    1.2 实现思路

    使用数据集函数来实现,数据集函数如何使用可参考 :数据集函数

    2. 示例

    2.1 准备数据

    1)新建模板,新建一个内置数据集 Embedded1 ,如下图所示:

    image.png

    2.2 添加模板参数

    点击菜单栏「模板>模板参数」,新建两个模板参数「产品类型」和「产品」,如下图所示:

    2020-11-22_14-09-58.png

    2.3 参数面板添加控件

    1)将两个模板添加到参数面板,并且设置控件类型为「下拉框控件」,如下图所示:

    2020-11-22_14-27-25.png

    2)选中「产品类型」控件,在「组件设置>属性>数据字典」处为其绑定数据集「产品」的产品类型列。如下图所示:

    2020-11-22_15-13-29.png

    3)选中「产品类型」控件,在「组件设置>属性>数据字典」处为其绑定数据。如下图所示:

    数据字典处、类型设置为「公式」,其中实际值处设置如下公式,显示值处空白即可。if(len($产品类型)=0,Embedded1.select(产品),eval("Embedded1.select(产品,产品类型='"+$产品类型+"')"))

    2020-11-22_15-16-40.png

    4)如果「产品类型」控件是复选框控件,那么可设置复选框控件返回值类型为数组,如下图所示:

    「数据字典」处实际值公式改为:

    if(len($产品类型)=0,Embedded1.select(产品),eval("Embedded1.select(产品,inarray(产品类型,['"+joinarray($产品类型,"','")+"'])>0)"))

    2020-11-22_15-23-25.png

    2.4 效果预览

    2.4.1 PC 端

    保存模板,点击「分页预览」,效果如 1.1 节所示:

    2.4.2 移动端

    移动端 及 H5 效果如下图所示:

    image.png

    3. 模板下载

    已完成模板可参见:

    %FR_HOME%\webroot\WEB-INF\reportlets\doc\Parameter\公式实现下拉框参数联动.cpt

    %FR_HOME%\webroot\WEB-INF\reportlets\doc\Parameter\公式实现下拉复选框参数联动.cpt

    点击下载模板:公式实现下拉框参数联动.cpt     公式实现下拉复选框参数联动.cpt

    附件列表


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