历史版本21 :根据控件值自动匹配数据 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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