提交类型

  • 文档创建者:文档助手1
  • 编辑次数:26次
  • 最近更新:Leo.Tsai 于 2020-07-31
  • 1. 智能提交

    1.1 应用场景

    智能提交将插入、更新、删除操作三合一。填报提交时后台会对插入、更新以及删除操作进行判断,若您填报时有两种以上的操作需求时,就可以选择智能提交类型。

    1.2 提交逻辑

    • 智能提交时会判断是否存在报表主键,若存在则更新提交,若不存在则插入提交。因此会降低填报入库的效率。所以若您只使用某一种提交时,选择其他对应的提交类型即可。

    • 如果页面存在删除行按钮,智能提交数据的时候(先点击删除行,再点击提交)会进行删除提交。

    • 若您插入了多条空白数据,但对空白行没有进行编辑,那么 FineReport 会将这些记录的值都识别为 null,对于这种记录,不会入库,即空白记录不入库。

    注:设置未修改不更新后,填报预览报表,记录所在单元格没有被编辑修改,则此记录不会进行更新;在大数据量记录查询并回填情况下,启用该设置,可以提高填报提交性能。

    1.3 效果预览

    1)设计填报表格时,展示模板原始已有数据,如下图所示:

    Snag_2550ef54.png

    2)报表填报属性中设置了提交类型为智能提交,如下图所示:

    Snag_28c9c1b8.png

    3)未填报前前端预览如下图所示:

    Snag_28cb987c.png

    4)同时执行新增、修改、删除记录操作,如下图所示:

    628D52E9-5565-4F7B-A28E-9D4C8181E2B9.GIF

    2. 删除提交

    2.1 应用场景

    删除提交只能用来删除数据。如果需要保留的数据很少,而需要删除的数据很多的时可以使用删除提交方式。

    2.2 提交逻辑

    智能提交的删除操作完全相反,前端删除的数据保留,留在页面的数据点击提交后会被删除。

    注:设置删除提交时,模板中需要展示原始已有数据,另外需要勾选报表填报属性中的某列作为报表主键。

    2.3 效果预览

    1)设计填报模板时,展示原始已有数据,如下图所示:

    Snag_254f0094.png

    2)报表填报属性中设置了提交类型为删除提交,如下图所示:

    Snag_24db1895.png

    3)前端填报效果如下图所示,也就是说删除保留在填报页面上的所有数据,这里的删除逻辑跟智能提交删除操作完全相反。

    删除提交.GIF

    3. 插入提交

    3.1 应用场景

    插入提交只能用来插入数据,且模板中不能展示原始已有数据,填报页面必须是空白无数据的。

    3.2 提交逻辑

    跟智能提交的插入操作相同,只是必须要求插入数据时,填报页面是没有其他原始数据的,必须为空白。

    注:空白记录点击提交后并不会入库。

    3.3 效果预览

    1)填报表格中不展示原始已有数据,如下图所示:

    Snag_250ebb16.png

    2)报表填报属性中设置了提交类型为插入提交,如下图所示:

    Snag_2510506c.png

    3)插入数据后,点击提交按钮,数据即成功入库,如下图所示:

    E035D25A-24B4-4BCF-A71B-D23C689ACE33.GIF

    4)查看数据库表信息,可以看到数据表中新增了一条数据,如下图所示:

    Snag_251244ca.png

    3.4 注意事项

    3.4.1 重复入库

    填报模板中展示原始已有数据且数据表中未设置主键的情况下,使用插入提交插入数据时,原始数据会再次执行插入操作,导致数据重复入库。

    B5C2389B-ECC3-4E01-BE94-037EB90FCB3E.GIF

    查看数据库表信息,可以看到有 2 条 ID 为 6 的重复数据,如下图所示:

    Snag_251f5f57.png

    3.4.2 主键限制

    如果数据库表中设置了主键,如下面示例中的 ID 字段,且存在一条 ID 为 6 的记录,如下图所示:

    Snag_252aebd3.png

    使用插入提交一条 ID 为 6 的记录时,入库失败且有报错信息:UNIQUE constraint failed: Sales.ID,即设置主键的前提下不允许提交重复数据。

    B52C98BA-C1D5-4256-8115-ED2157B7BFD8.GIF

    4. 更新提交

    4.1 应用场景

    更新提交只能用来更新数据,因为展示原始已有数据,需要勾选报表填报属性中的某列作为报表主键。

    4.2 提交逻辑

    跟智能提交的更新操作逻辑相同。

    4.3 效果预览

    1)设计填报表格时,展示模板原始已有数据,如下图所示:

    Snag_2550ef54.png

    2)报表填报属性中设置了提交类型为更新提交,如下图所示:

    Snag_255208d3.png

    3)修改数据后,点击提交即可成功修改数据,如下图所示:

    84DE2B05-D7EB-42A2-B266-7C3D65C23884.GIF

    附件列表


    主题: 填报应用
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!