行式报表批量删除数据
在润乾的行式填报表中允许用户删除页面端数据,从而点击保存后能将数据库中对应的数据删除,在默认情况下,删除按钮位于报表的上方或下方,如果页面数据过多,删除时要一次一次来点太不方便,如果数据前方能生成复选框,先用鼠标选中需要删除数据的复选框,最后点击一次删除能将选择的数据都删除,这样能大大提高工作效率,下面介绍下行式报表批量删除数据的使用。
先通过设计器设计一行行式填报表并设置对应的更新设置,注意,因为要生成复选框,所以第一列要空出一列,并将填报的编辑风格设置成复选框,如图:
这样,报表展现后每条明细数据的前方就会生成对应的复选框供用户选择。
在页面上自己定义按钮,并且点击时实现相关功能:
<div noWrap style=”font-family:宋体;font-size:13px;color:;”>
全选:<INPUT type=”checkbox” onclick=”selcheck()”>
<span style=”cursor:pointer” onclick=”_insertRow( report1 )”>插入</span>
<span style=”cursor:pointer” onclick=”_appendRow( report1 )”>添加</span>
<span style=”cursor:pointer” onclick=” deleteRows()”>删除勾选</span>
<span style=”cursor:pointer” onclick=”_submitRowInput( report1 )”>提交</span>
</div>
这里主要介绍下全选以及多条删除的操作。
全选点击时调用了selcheck()函数,所以要在当前jsp中定义该js函数,如下:
function selcheck() {
var objs = report1.getElementsByTagName(“input”);
for(var i=0; i<objs.length; i++) {
if(objs[i].type.toLowerCase() == “checkbox” )
objs[i].checked =event.srcElement.checked;
}
}
会根据相应的名称实现全选的功能。
删除勾选调用js函数deleteRows(),在jsp中定义该js函数:
function deleteRows(){
var report = document.getElementById(‘report1′);
for(var i=report.rows.length-1;i>0;i–){
var row = report.rows[i];
if(!row.all.tags(“input”)[0].checked) continue;
var cell = row.cells[1];
report.currCell = cell;
_deleteRow(report);
}
}
这样页面上就会展现相应按钮,并能够实现批量删除功能:如图: