自动匹配填报数据

  • 文档创建者:文档助手1
  • 编辑次数:22次
  • 最近更新:Leo.Tsai 于 2020-09-23
  • 1. 概述

    1.1 问题描述

    填报时如果只想修改数据库表中的几条数据,那么可以通过选择主键字段自动匹配出对应的数据行,然后只修改这些数据行的数据即可。

    这样填报时不用加载出数据库表中的所有数据,极大提高了填报效率,匹配效果如下图所示:
    2856E1F2-496C-4ABB-849B-D0DCDDE51E59.GIF

    1.2 解决思路

    在对应的单元格中,通过 SQL 公式取出对应的值,然后将公式所在单元格的插入行策略设置为原值即可。

    2. 示例

    2.1 设计填报表格

    新建普通报表,设计填报表格,A3 单元格添加下拉框控件,B3~F3 添加文本框控件,如下图所示:

    222

    2.2 下拉框设置数据字典

    选中 A3 单元格,给下拉框控件绑定数据字典,如下图所示:

    1600845863156108.png

    2.3 添加公式

    B3~F3 单元格添加公式,根据 A3 单元格下拉框选择的值,查询出指定的数据,如下图所示:

    Snag_b11f4cc.png

    B3~F3 单元格添加的公式如下,公式中用到了 SQL 函数,详细介绍参见文档:SQL函数

    B3:sql("FRDemo","select 产品名称 from 产品 where 产品id="+A3,1,1)

    C3:sql("FRDemo","select 单位数量 from 产品 where 产品id="+A3,1,1)

    D3:sql("FRDemo","select 成本价 from 产品 where 产品id="+A3,1,1)

    E3:sql("FRDemo","select 单价 from 产品 where 产品id="+A3,1,1)

    F3:sql("FRDemo","select 库存量 from 产品 where 产品id="+A3,1,1)

    注:公式里面产品 ID 对应 A3 单元格的内容为数字,如果是字符串需要修改公式,如:sql("FRDemo","select 产品名称 from 产品 where 产品id='"+A3+"'",1,1)

    2.4 设置插入行策略

    选中 B3~F3 单元格,将单元格的插入行策略修改为原值,如下图所示:

    1600848619672998.png

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\自动匹配.cpt

    点击下载模板:自动匹配.cpt

    附件列表


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