反馈已提交

网络繁忙

填报控件数据字典联动

  • 文档创建者:文档助手1
  • 编辑次数:23次
  • 最近更新:星踪 于 2021-06-02
  • 1. 概述

    1.1 应用场景

    填报模板中存在多个控件,希望某个控件选择值后,其他控件的数据字典根据选择的值动态变化,如下图所示:

    4AC77197-D68C-4471-8FA9-0AC0C36194BC.GIF

    1.2 实现思路

    有三种方法可以实现填报联动效果:

    • 使用数据集sql筛选实现。不支持控件扩展场景。

    • 使用 SQL()函数 实现。支持控件扩展场景,但大数据量下性能较差。

    • 使用 value()函数 实现。支持控件扩展场景。


    2. 示例

    2.1 准备模板

    打开设计器内置模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\FreeForm\FreeForm.cpt,表格样式如下图所示:

    Snag_257849.png

    2.2 方法一:数据集sql筛选

    1)新增数据集 ds2,其 SQL 语句为:SELECT 城市 FROM 雇员 where 地区='${C9}',通过 where 条件限制城市的数据为 C9 单元格(地区)选择后的值。

    Snag_3d5cd964.png

    2)选中 C9 单元格(地区),修改地区下拉框控件的控件名和数据字典为ds1,如下图所示:

    image.png

    3)选中 F9 单元格(城市),修改城市下拉框控件的数据字典为ds2,如下图所示:

    Snag_3d612e28.png

    注:填报控件除了可以根据单元格进行联动,也可以根据参数或者填报的控件名进行联动,如 C9 单元格的控件名称为地区,则将 ds2 修改为:SELECT 城市 FROM 雇员 where 地区='${地区}'也可达到同样的联动效果。

    2.3 方法二: SQL() 函数

    选中 F9 单元格,修改城市下拉框控件的数据字典为公式,实际值输入公式:SQL("FRDemo","select 城市 from 雇员 where 地区='"+C9+"'",1),显示值输入公式:$$$,如下图所示:

    2.4 方法三:value() 函数

    选中 F9 单元格,修改城市下拉框控件的数据字典为公式,实际值输入公式:value("ds1","城市","地区",C9),显示值输入公式:$$$,如下图所示:

    2.5 效果预览

    1)PC 端

    保存报表,点击填报预览,效果如下图所示:

    4AC77197-D68C-4471-8FA9-0AC0C36194BC.GIF

    2)移动端

    同时支持 App 端和 H5 端预览,效果如下图所示:

    1598323226279376.gif

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\FreeFrom\填报下拉框联动.cpt

    点击下载模板:填报下拉框联动.cpt


    4. 注意事项

    触发数据字典联动时,会清空被联动控件的值。比如上述示例中,地区控件选择数据后,城市控件之前选择的值就会被清空。

    1.gif

    附件列表


    主题: 填报应用
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭