历史版本2 :使用UUID自动生成主键 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1.描述编辑

1.1 问题描述

除了 int 型简单自增主键,用户如何生成个性化主键呢?

例如 UUID32 位的主键,手动填写非常耗费精力,且易重复,如何解决呢?

1.2 解决思路

FineReport 设计器内置了 UUID() 函数,可通过填报字段的值绑定,继而进行填报。

2. 示例编辑

2.1 模板设计

2.1.1 新建数据集

新建数据集:书籍信息入库

SELECT * FROM book
where id is null

2.1.2 模板设计

1)设计模板主体页面,如下图所示:

1562832069960980.png

2)添加填报控件,各控件属性如下:

1562833882924340.png

2.2 添加报表填报属性

点击模板>报表填报属性,新增内置SQL

选择提交类型为插入提交,不显示原有数据

添加字段,并添加单元格。其中 id 字段为主键,值=uuid(32)

如下图所示:

1562832433288192.png

注:该模板中,主键 id 无需出现在填报页面,因此 id 的值直接使用公式显示。

       如需在填报页面显示,可设置单元格的值=UUID(32),再将主键 id 绑定该单元格。

3. 效果查看编辑

3.1 PC 端

保存模板,点击填报预览,填报如下信息,点击提交。

查看数据库,可以看到 32 位 id 正确生成,填写的内容也正确入库。如下图所示:

1562834492386983.png

3.2 移动端

该功能支持移动端填报。

3.2.1 HTML5

图片.png

3.2.2 App

图片.png

4. 已完成模板编辑

已完成模板,可参考%FR_HOME%\webroot\WEB-INF\reportlets\doc\form\填报报表之主键生成.cpt

点击下载模板:填报报表之主键生成.cpt