润乾行式填报表 (主键字段自动生成且不可编辑)_ 资料查阅凭证登记表

需求:

按照如下格式及内容, 由润乾报表 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 端发布

       

如上图可看到, 插入或新增行时, 序号自动生成且不能修改, 查阅日期为下拉日历控件.

也可设置校验, 如上当查阅人未录入时, 提醒非空录入.

提交入库后