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

目录:

1. 问题描述编辑

有如下图情况,只给出一系列的编号,根据编号自动在数据库中匹配出对应的数据,然后再对数据进行修改操作:
222

2. 解决思路编辑

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

3. 解决步骤编辑

1)如下图,新建一张模板,模板样式如下图:
222
2)如下所示,设置产品id的下拉框属性:
222
3)设置产品名称公式,公式为:sql("FRDemo","select 产品名称 from 产品 where 产品id="+A3,1,1),如下图:
222
注:函数的用法可参考:SQL函数
4)同理设置C3,D3,E3,F3单元格的公式,如下:
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)
注:这里的产品编号A3单元格的内容为数字,所以公式里的B3不需要加'' 
若产品编号为字符串,则A3需要加'',相应公式应修改为:sql("FRDemo","select 产品名称 from 产品 where 产品id='"+A3+"'",1,1)
5)设置B3:F3单元格的插入行策略为原值,即保留原有的公式。
222
6)点击填报预览即可查看效果
在线查看模板效果请点击:自动匹配.cpt
已完成模板,可参考:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Form\LineForm\自动匹配.cpt