easyui之datagrid:动态生成列(动态报表)

我们都知道,使用easyui可以很容易的生成datagrid,代码如下:

_queryGrid = $("#datagrid_queryReport").datagrid({
		url:urljson,
		queryParams:parData,
		fitColumns:true,
		width:$(window).width() - 5,
		height:$(window).height()-45,
		showFooter:true,
		rownumbers:true,
		loadMsg:"玩命加载中。。。",
		fit:false,
		columns:[[{
ield:'id',
align:'center',
title:'ID',
sortable:true,
width:10
},{
field:'name',
title:'名称',
sortable:true,
width:50
}]]
});

但实际项目中,有一个动态报表的需求,根据前太页面的选择列,然后生成动态的表格数据。于是,需要解决easyui如何动态创建列的问题,参考博客:http://blog.csdn.net/tonytfjing/article/details/40001547

我的解决方法是:

1、根据选择的列,后台动态生成easyui的columns对象,传到前端;

2、根据动态生成的columns对象,构建一个动态datagrid

var col = [];
$(function(){
	var urljson = '';
		
	$.doAjax({
			   url :'<%=basePath %>report/generateGrid',
			   async : false,
			   data:qf+"&gourpFields="+$.toJSONString(gf),
			   callback: function(_data){
				   //alert($.toJSONString(_data));
				   col.push(_data);
				   //alert($.toJSONString(col));
			   }
	});
	urljson = '<%=basePath %>report/generateReport?'+qf+"&buyerFilter="+bf+"&adFilter="+af;
	var parData = {
			"timeType":ttc,
			//"buyerFilter":bf,
			//"adFilter":af,
			"buyerIsNot":isNotB,
			"adIsNot":isNotA,
			"startTime":strc,
			"stopTime":stc,
			"timeRange":trc,
			"groupFields":$.toJSONString(gf)
	};
	
	
	_queryGrid = $("#datagrid_queryReport").datagrid({
		url:urljson,
		queryParams:parData,
		fitColumns:true,
		width:$(window).width() - 5,
		height:$(window).height()-45,
		showFooter:true,
		rownumbers:true,
		loadMsg:"玩命加载中。。。",
		fit:false,
		columns:col
	});
	_queryGrid.datagrid('doCellTip',{   
        onlyShowInterrupt:false,   
        position:'bottom'
	});
	
	
});




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赶路人儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值