点击按钮直接提交入库(自定义提交事件)

  • 文档创建者:文档助手1
  • 编辑次数:23次
  • 最近更新:Kevin-s 于 2019-06-04
  • 1. 问题描述

    填报报表,修改数据后都需要点击工具栏上的提交按钮才会与数据库进行交互。若不使用 FR 的提交按钮,如何调用提交事件与数据库进行交互呢?

    如点击自定义的删除按钮,删除行的同时就与数据库交互:

    222

    2. 实现思路

    可以通过 JS_g('${sessionID}').writeReport(); 来调用 FR 的提交事件,此时会根据报表填报属性中定义的内置 SQL 与数据库进行交互。

    只要可以调用 JS 的地方如删除行按钮的点击事件中,就能调用如上方法触发报表提交事件。

    注:自定义按钮实现提交入库事件,在 cpt 中不会触发及时校验,只能通过单独的 JS 来进行校验;而 frm 可以触发及时校验。

    3. 解决步骤

    报表设计如下:

    222

    在 G3 和 H3 单元格增加 按钮控件,G3 按钮类型选择插入行,指定单元格选择 A3,并且设置插入行的行数为 1 行即点击增加行时只增加一行。如下图所示:

    222

    H3 按钮类型选择删除行,指定单元格选择 A3,如下图所示:

    222

    3.2 添加事件

    当我们点击“删除行”按钮时,需要先在页面上把该行删除,然后再提交入库。

    为了点击删除按钮时可以直接提交入库,我们给删除行按钮即 H3 单元格,添加一个点击事件,如下所示:

    222

    setTimeout(function(){ 
       _g('${sessionID}').writeReport();
    },2000);

    注:需要延长 2~3 秒后再触发提交事件,使页面删除数据动作完成后再提交入库。

    4)保存预览,效果如下:

    222

    在线查看模板效果请点击 点击按钮直接提交入库(自定义提交).cpt

    已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\点击按钮直接提交入库(自定义提交).cpt

    4.移动端效果

    222

    附件列表


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