FineReport填报--批量删除

最近做报表有个批量删除的需求,这也是个比较常用的功能,在此记录下(PS:我使用的是9.0和10.0版本)

参考帆软帮助文档https://help.finereport.com/doc-view-533.html

最终效果如下,此处我选择点击删除后再点击提交按钮提交到数据库,并不是点击删除后直接就提交

数据用的FRDemo.db 的SALES_BASIC表

图片加载中

1、首先做出展示页面如下:

2、全选功能

首先定义一个参数来判断是否点击了全选,在参数栏拖一个文本框,名称为flag,去掉可用和可见属性,默认值为false,false表示没全选,true表示全选;

(2021-06-18补充)  全选按钮名称记得设置为is_all

在全选按钮下添加点击事件,代码如下:

var flag=contentPane.parameterEl.getWidgetByName("flag").getValue();
if(flag=="false"){
    //我这里前两行加了冻结,所以有#frozen-center,如果不加冻结使用下面的代码获取不到复选框
	var $span = $('#frozen-center .fr-checkbox-checkoff');  //没有选中的复选框 	
	//alert($span.length);
    $span.removeClass("fr-checkbox-checkoff");
	$span.addClass("fr-checkbox-checkon");

	contentPane.parameterEl.getWidgetByName("flag").setValue("true");
	contentPane.getWidgetByName("is_all").setValue("取消全选");
}else{
	//var $span = $('.fr-checkbox-checkon');  
	var $span = $('#frozen-center .fr-checkbox-checkon'); //选中的复选框 
    $span.removeClass("fr-checkbox-checkon");
	$span.addClass("fr-checkbox-checkoff");
	
	contentPane.parameterEl.getWidgetByName("flag").setValue("false");
	contentPane.getWidgetByName("is_all").setValue("全选");	
}

3、删除

删除按钮添加点击事件,代码如下:

FR.Msg.confirm("提示","确认删除所选项?",function(flag){
	if(flag){
		var $span = $('.fr-checkbox-checkon');  //定义选中的复选框 
		var darray = []; 
		var $tds = $("td").has($span);   //定义选中复选框的单元格 
		for (var i = 0, len = $tds.length; i < len; i ++) {    		 //遍历选中的单元格
		     var id = $($tds[i]).attr("id");     //给选中的单元格加上id的属性
		     if (id) {
		      darray.push(id);     //将选中的id放入到数组中
		     }
		}
		contentPane.deleteReportRC(null,darray); //第二个参数为批量删除的选中行
		//contentPane.writeReport();  //提交至数据库,此处我没用,我选择默认的点击提交按钮提交
		contentPane.parameterEl.getWidgetByName("flag").setValue("false");
	}else{
		return false;
	}
})

4、现基本实现,优化,在每次点击查询后重置flag为false,所以在查询按钮添加点击事件

contentPane.parameterEl.getWidgetByName("flag").setValue("false");
_g().parameterCommit();

最后附上一个demo https://download.csdn.net/download/baidu_35267690/19713933

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值