1. 学习视频
本文学习视频:设置填报属性
2. 智能提交
2.1 应用场景
智能提交将插入、更新、删除操作三合一。填报提交时后台会对插入、更新以及删除操作进行判断,若您填报时有两种及以上的操作需求时,就可以选择智能提交类型。
注:移动端也是支持数据插入、更新和提交的。
2.2 提交逻辑
从页面上识别到通过删除行动作删掉的数据,并根据设置的主键去数据库找到对应的数据进行删除。
排除掉删除的数据后,对剩余数据根据设置的主键去数据库找对应的数据,如果有对应数据就执行更新,如果没有就执行插入。
如果勾选了「未修改不更新」,进行填报时,页面上未修改的数据不会参与提交,具体介绍可参考填报未修改不更新。
如果有更新或删除数据的需求,则必须勾选主键。如果没有勾选主键,则统一为插入提交。主键相当于 SQL 中 where 的效果,不同于数据库的主键。
如果用插入行插入了空白行,但对空白行没有进行编辑,那么这些记录的值都会被识别为 null。对于这种记录,在提交时会被过滤,不会入库。
数据入库后的顺序和页面展示顺序不保证一致。
2.3 效果预览
1)设计填报表格时,展示模板原始已有数据,如下图所示:
2)报表填报属性中设置了提交类型为「智能提交」,如下图所示:
3)同时进行新增、修改、删除记录操作,结果如下图所示:
3. 删除提交
3.1 应用场景
删除提交只能用来删除数据。如果只有删除数据的需求,可以选择删除提交。
3.2 提交逻辑
跟「智能提交」的删除逻辑完全相反,删除提交会排除掉通过删除行动作删掉的数据,对页面上剩下的数据根据设置的主键去数据库找到对应的数据进行删除。
删除提交只需要添加主键字段即可,其他非主键字段添加与否对结果没有影响。
必须设置主键字段,否则删除提交不会执行。
3.3 效果预览
1)设计填报模板时,展示原始已有数据,如下图所示:
2)报表填报属性中设置了提交类型为「删除提交」,如下图所示:
3)前端填报效果如下图所示,执行提交后删除了填报页面上显示的数据,而使用删除行删掉的数据保留了下来。这里的删除逻辑跟「智能提交」的删除逻辑是完全相反的。
4. 插入提交
4.1 应用场景
插入提交只能用来插入数据。如果只有插入数据的需求,可以选择插入提交。
4.2 提交逻辑
跟「智能提交」的插入逻辑相同,在排除掉通过删除行动作删掉的数据后,对页面上剩下的数据进行插入操作。
不会对数据重复性做判断,意味着可能会入库重复数据。如果数据库本身限制了不能有重复数据,则提交时会有相关报错。
如果用插入行插入了空白行,但对空白行没有进行编辑,那么这些记录的值都会被识别为 null。对于这种记录,在提交时会被过滤,不会入库。
插入提交类型下,主键设置与否对提交结果没有影响,提交时不会读取主键设置。
4.3 效果预览
1)填报表格中不展示原始已有数据,如下图所示:
2)报表填报属性中设置了提交类型为「插入提交」,如下图所示:
3)插入数据后,点击提交按钮,数据即成功入库,如下图所示:
4)查看数据库表信息,可以看到数据表中新增了一条数据,如下图所示:
5. 更新提交
5.1 应用场景
更新提交只能用来更新数据。如果只有更新数据的需求,可以选择更新提交。
5.2 提交逻辑
对页面上的数据根据设置的主键去数据库找到对应的数据进行更新。多个主键相同的数据会合并更新,即按照最后一条来更新。
必须设置主键字段,否则更新提交不会执行。
不识别删除行动作,即被删除行删掉的数据,在提交时依然会参与更新动作。
5.3 效果预览
1)设计填报表格时,展示模板原始已有数据,如下图所示:
2)报表填报属性中设置了提交类型为「更新提交」,如下图所示:
3)修改数据后,点击提交即可成功修改数据,如下图所示: