历史版本2 :JS实现删除时二次确认 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 问题描述编辑
在实际操作中,很多时候删除行操作需要二次确认再进行删除操作,Finereport默认的删除按钮,点击删除不进行提示,因此可能会出现误删的情况,这样的操作用户体验感比较差。
2. 解决方案编辑
通过翻阅帆软的js api发现可以通过contentPane.deleteReportRow()方法进行间接的删除二次确认的操作。
也可以进行直接的删除二次确认的操作,确认后可直接提交入库,方法请参考:js实现删除行前先确认
3. 实现步骤编辑
3.1 打开文件
打开cpt文件,在行后添加删除按钮。设置如下图:
3.2 设置填报属性
选择模板->报表填报属性,添加内置sql,进行智能提交。
注:设置完成后,此时填报预览点击删除按钮后,没有确认提示。
3.3 添加按钮
在原来删除按钮后面添加一个普通按钮,并设置左父格为删除按钮。创建点击事件,传递参数row为公式row(),并添加js代码。
js代码如下:
FR.Msg.confirm("警告","确定要删除吗?",function(value){
if(value){
contentPane.deleteReportRow("G"+row, 0, 1) //字母G为内置的删除按钮所在列
}else{
}
})
说明:deleteReportRow( location, reportIndex, count ),删除行按钮使用的删除行方法(该方法类似依赖于内置的删除,类似于模拟点击删除按钮事件)
Parameters
- location : Object
删除行按钮所在的位置
- reportIndex : Object
sheet序号
- count : Object
行数 删除行传不传都是删除1行
如:contentPane.deleteReportRow("C2",0,1);//调用C2单元格的删除行按钮进行删除行
隐藏删除行按钮列,保留普通按钮为显示状态。
4. 保存预览编辑
点击填报预览,效果如图。
已完成模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\form\删除行操作提示并二次确认.cpt。