行式填报表 (主键字段自动生成且不可编辑)_ 资料查阅凭证登记表
需求:
按照如下格式及内容, 由润乾报表 v5 实现资料查阅凭证登记.
要求:
1/ 可实现网页端数据录入
2/ 支持增删改数据, 可插入及增加新纪录
3/ 序号自动生成唯一标识号且能保存入库且页面不允许修改
4/ 日期类型可通过编辑控件选择
5/ 数据结构要提前在数据库设计好
分析:
报表格式上明显为行式填报表, 可通过润乾 v5 行式填报表的设计规则实现, 完全可满足增删改的要求. 另外, 润乾报表提供的编辑风格, 也可实现日期等数据的选择, 数据校验也可实现对数据的提前校验.
序号的自动生成可通过数值格的 缺省值表达式 实现, 支持 js 表达式, 此处我们可以用 uuid 的方式生成.
具体实现步骤:
1/ 数据结构的建立
数据结构相对简单, 七个字段, 序号列可设置为主键
建表语句 (以 mysql 为例):
CREATE TABLE cydjtable (
xuhao varchar(100) NOT NULL primary key,
cydate varchar(20) NULL,
cysy varchar(200) NULL,
cyinfo varchar(100) NULL,
cyr varchar(20) NULL,
pzr varchar(20) NULL,
remarkss varchar(500) NULL
)
2/ 设计表样
按照要求格式画报表, 如下
3/ 设置数据处理
_ 注: 需连接对应数据源 _
取数及回填均为提前准备的数据库表内, 我们可以采用向导来生成
填报—数据处理—使用向导生成脚本
3/ 设置表达式及字段名称
(1) 依据行式填报表的设计规则, 定义 A3 到 G4 单元格为数值格.
(2) 定义 A3 字段名称为: zlcy.xuhao(对象名. 字段名) ;B3 到 G3 的字段名称分别为对应数据库表字段名.
4/ 设计编辑风格
查阅日期单元格设置为 下拉日历
5/ 编辑 uuid 的获取 js 函数并设置序号值的缺省值表达式
(1) 在展现报表的页面定义 js 函数 (可根据实际要求定义) 如下
function uuid() {
var s = [];
var hexDigits = “0123456789abcdef”;
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = “4”; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3)| 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = “-”;
var uuid = s.join("");
return uuid;
}
(2) A3 设置缺省值表达式
6/Web 端发布
如上图可看到, 插入或新增行时, 序号自动生成且不能修改, 查阅日期为下拉日历控件.
也可设置校验, 如上当查阅人未录入时, 提醒非空录入.
提交入库后
更多填报表相关问题请查看:填报相关问题分类导航
* 普通填报表 只对用户修改行更新创建人编号
* 固定格式填报表的制作
* 数据采集录入填报时如何只更新当前修改行
* 行式填报表轻松搞定流水号
* 填报流水号,缺省表达式设置