1. 问题描述
直接在数据列后放置增加行和删除行按钮,由于添加删除行包含了一些脚本,若数据量很大时,这些脚本就会导致模板运行慢。为此可以采取只是用一个插入行和删除行按钮,但是这样会导致在点击删除行时只能删除一条数据,如何让鼠标焦点到哪行删除哪行数据呢?
2. 实现思路
通过给报表增加填报的加载结束事件,在事件中增加单元格监听事件获取当前行号并把赋值给window的对应,最后在自定义按钮中增加点击事件并调用删除方法即可。
3. 示例
3.1 打开模板
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\LineForm.cpt。
3.2 加载结束事件设置
点击报表>报表web属性>填报预览设置,勾选我要为这张模板单独设置,然后增加加载结束事件,JS具体的代码如下:
3.3 添加删除行设置
在模板的任一位置增加两个按钮,一个为插入行按钮,一个为普通按钮。
将插入行按钮设置的指定单元格设置为产品编号所在的数据列。
将普通按钮的名称命名为删除行,并增加按钮点击事件,具体的代码如下:
3.4 效果查看
点击填报预览,选中要删除的行进行删除,可以看到对应的行被删除了,如上效果图。
返回顶部