easyui datagrid 导出当前页

$.extend($.fn.pagination.defaults,{ 
    buttons:[
        {
        	iconCls:'icon-excel',
        	title:'导出当前页',
			handler:function(){
				util.exportThis($(this).closest('div'));
			}
        }
    ],
});
/*
 * datagird导出当前
 */
util.exportThis=function(target){
	var ck = false;
	var dg = target.parent().children('div:eq(0)').children('table:eq(0)');
	var opt = dg.datagrid('options');
	var csvStr = '';
	var fieldArr = [];
	for(var $i in opt.columns[0]){
		if($i==0 && typeof(opt.columns[0][0].title)=='undefined'){//验证是否有checkbox列
			ck = true;
			continue;
		}
		csvStr += opt.columns[0][$i].title;
		csvStr += ',';
		fieldArr.push(opt.columns[0][$i].field);
	}
	csvStr=csvStr.toString().substring(0,csvStr.length-1);
	csvStr+='\n';
	var data = dg.datagrid('getData').rows;
	for(var $i in data){
		for(var $j in fieldArr){
			var formatIndex = ck?parseInt($j)+1:parseInt($j);
			if(typeof(opt.columns[0][formatIndex].formatter)!='undefined'){//验证格式化
				var one = eval('data[$i].'+fieldArr[$j]);
				var formatOne = opt.columns[0][formatIndex].formatter(one,data[$i],$i);
				if(formatOne.indexOf('<a')==0){//验证是否为链接格式化
					csvStr += one;
				}else{
					csvStr += formatOne;
				}
			}else{
				csvStr+=eval('data[$i].'+fieldArr[$j]);
			}
			csvStr += ',';
		}
		csvStr=csvStr.toString().substring(0,csvStr.length-1);
		csvStr+='\n';
	}
	var BOM = "\uFEFF";
	var link= $('<a href="data:attachment/csv;charset=utf-8,' + BOM + encodeURIComponent(csvStr)+'" target="_blank" download="export.csv"></a>');
	link.get(0).click();
}

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭