历史版本4 :联立多字段校验是否与数据库中数据重复 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
1.1 问题描述
用户在填报报表中录入数据时,希望可以通过两个或多个字段来验证数据的唯一性。
1.2 解决思路
报表设计时拼接需要校验的多个字段,填报属性中设置内置提交校验公式,验证拼接字段是否与数据库中已有字段重复。
2. 示例编辑
2.1 数据准备
新建数据集 ds1,输入 SQL 查询语句:select *,(产品名称||单价)as aa from S产品。
注:SQL 语句中(产品名称||单价)表示将产品名称与单价拼接成一个字段。
2.2 表格设计
如下图设计填报报表:
H2 单元格插入公式:CONCATENATE(B2, C2),表示在填报时将 B2 和 C2 单元格的填入的内容拼接在一起。公式插入后隐藏 H2 单元格。
2.3 填报属性
设置报表的填报属性:
添加内置提交校验,校验公式为:INARRAY(H2,ds1.group(aa))=0,表示将当前输入单元格的内容与数据库中的内容进行比较,相同就等于0,就会提示报错信息:"当前产品名称单价与数据库中已有的产品名称单价重复"。
2.4 效果查看
保存报表,点击填报预览,输入与数据库中重复的产品名称和单价,数据校验时会提示报错信息。
3. 已完成模板编辑
已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\VerifyForm\内置提交校验验证数据是否重复.cpt
点击下载模板:内置提交校验验证数据是否重复.cp