点击按钮直接提交入库(自定义提交事件)
1. 问题描述
填报报表,修改数据后都需要点击工具栏上的提交按钮才会与数据库进行交互。若不使用FR的提交按钮,如何调用提交事件与数据库进行交互呢?
如点击自定义的删除按钮,删除行的同时就与数据库交互:
2. 实现思路
可以通过js:_g('${sessionID}').writeReport(); 来调用FR的提交事件,此时会根据报表填报属性中定义的内置sql与数据库进行交互。
只要可以调用js的地方如删除行按钮的点击事件中,就能调用如上方法触发报表提交事件。
3. 解决步骤
报表设计如下:
在G3和H3单元格增加按钮控件,G3按钮类型选择插入行,指定单元格选择A3,并且设置插入行的行数为1行即点击增加行时只增加一行。如下图所示:
H3按钮类型选择删除行,指定单元格选择A3,如下图所示:
3.2 添加事件
当我们点击“删除行”按钮时,需要先在页面上把该行删除,然后再提交入库。
为了点击删除按钮时可以直接提交入库,我们给删除行按钮即H3单元格,添加一个点击事件,如下所示:

setTimeout(function(){
_g('${sessionID}').writeReport();
},2000);
注:需要延长2~3秒后再触发提交事件,使页面删除数据动作完成后再提交入库。
4)保存预览,效果如下:
在线查看模板效果请点击点击按钮直接提交入库(自定义提交).cpt
已完成模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\点击按钮直接提交入库(自定义提交).cpt。
4.移动端效果

附件列表
文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201)

