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

目录:

1. 问题描述编辑

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

2. 实现思路编辑

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

3. 示例编辑

3.1 模板制作
如下图,新建一张模板,模板样式如下图:
3.2 修改模板
按照如下表格,在单元格中插入公式:
B3设置为下拉框,数据来自FRDemo中的产品表,实际值和显示值都是产品ID设置从下到下扩展,通过下拉框选择产品编号
C3=if(len(B3) = 0, "", sql("FRDemo", "select 产品名称 from 产品 where 产品ID=" + B3, 1, 1))获取产品表中产品ID对应的产品名称
D3=if(len(B3) = 0, "", sql("FRDemo", "select 供应商ID from 产品 where 产品ID=" + B3, 1, 1))获取产品表中产品ID对应的供应商ID
E3=if(len(B3) = 0, "", sql("FRDemo", "select 类别ID from 产品 where 产品ID=" + B3, 1, 1))获取产品表中产品ID对应的类别ID
F3=if(len(B3) = 0, "", sql("FRDemo", "select 成本价 from 产品 where 产品ID=" + B3, 1, 1))获取产品表中产品ID对应的成本价
G3=if(len(B3) = 0, "", sql("FRDemo", "select 单价 from 产品 where 产品ID=" + B3, 1, 1))获取产品表中产品ID对应的单价
H3=if(len(B3) = 0, "", sql("FRDemo", "select 库存量 from 产品 where 产品ID=" + B3, 1, 1))获取产品表中产品ID对应的库存量
I3=if(len(B3) = 0, "", sql("FRDemo", "select 订购量 from 产品 where 产品ID=" + B3, 1, 1))获取产品表中产品ID对应的订购量
J3=if(len(B3) = 0, "", sql("FRDemo", "select 再订购量 from 产品 where 产品ID=" + B3, 1, 1))获取产品表中产品ID对应的再订购量
K3=if(len(B3) = 0, "", sql("FRDemo", "select 中止 from 产品 where 产品ID=" + B3, 1, 1))获取产品表中产品ID对应的中止
3.3 插入行策略设置
设置C3-K3单元格的插入行策略为原值,即保留原有的公式。
3.4 保存模板
点击填报预览即可查看效果。在线查看模板效果请点击LineForm6.cpt

具体的设置可参考模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\LineForm6.cpt