面对多行网格式报表,逐行手动删除是否让您感到繁琐?若误删某行,还需刷新页面才能重来,操作既耗时又影响效率。
1、 先创建复选框,再添加按钮;点击按钮时,通过JavaScript获取已勾选行的数据,执行删除操作,并将结果提交至数据库。
2、 批量删除行的JavaScript函数:contentPane.deleteRows(param);
3、 其中,param 是一个包含多个单元格坐标的字符串数组,例如 ,表示需删除对应位置所在行的整条记录。
4、 A2A3A4均为扩展后最终呈现的坐标。
5、 下面通过一个实例来演示效果。
6、 打开模板
7、 更新模板
8、 将模板调整为以下样式
9、 B1单元格是按钮控件,A3单元格是复选框控件。
10、 方案一
11、 复选框定义
12、 在扩展数据左侧添加复选框,对应A3单元格,并将其左父格设为B3,确保每行数据前均显示一个复选框。
13、 为复选框添加初始化完成后的事件处理
14、 }
15、 定义全局变量lineboxes,并将其与复选框进行双向绑定。
16、 删除按钮定义
17、 在扩展数据区域上方添加一个按钮,选中B1单元格,命名为删除勾选,按钮类型设为普通。
18、 新增事件
19、 添加点击事件,JavaScript代码如下:
20、 }
21、 }
22、 批量删除用户在界面中选中的多行记录。
23、 调用contentPane.writeReport()方法,将报表数据保存至数据库,对应工具栏中的提交功能。
24、 }
25、 通过JavaScript将复选框与上方按钮绑定,点击按钮时自动提取所有已勾选复选框所在单元格的坐标,生成字符串数组,并据此批量删除对应记录。
26、 方法二
27、 将B1单元格的按钮命名为删除勾选,设为普通按钮,并为其添加点击事件,执行对应JavaScript代码。
28、 定义一个变量,用于选取所有带有fr-checkbox-checkon类名的span元素。
29、 选取包含指定span元素的所有表格单元格(td)。
30、 遍历所有被选中的表格单元格,依次对每个单元格执行相应操作。
31、 为所选单元格添加id属性,其值取自当前td元素的id特性。
32、 将选中的ID添加至数组darray中。
33、 }
34、 }
35、 contentPane.deleteReportRC(null, darray); // 此处darray为待批量删除的选中行数据
36、 效果预览
37、 点击填报可预览效果,批量勾选复选框后,点击删除勾选按钮即可移除所选项目。
评论
更多评论