extjs grid summary 获取平均分数据,并传递object后后台,存储得到想要的数据。

grid采用 ftype: 'summary' 来统计平均分,目前有个需求是导出grid数据到excel,且要将平均分也导出。

通过console.log,找到summary后的数据,分析typeOf为Object对象,因此通过Ext.encode将Object转成可传递的对象。

		var grid = btn.up('window').down('grid');
		var obj=grid.view.features[0].summaryData;
		var summaryData=Ext.encode(obj);	
传递后后台,需要的实际数据是obj中的实际值,所以就考虑将string通过split分割存储到hashmap中,这里采用LinkedHashMap的作用是保证按照顺序存储我传递过来的参数。最后通过Collection 获取map的value集合,然后放入list,关键代码如下。
		String summaryDataStr=request.getParameter("summaryData"); //存储最后的平均分
		summaryDataStr=summaryDataStr.substring(1, summaryDataStr.length()-1);
		String[] summaryData=summaryDataStr.split(",");
		LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>();  
		 for (String str : summaryData) {  
			 String[] keyText = str.split(":"); // 转换key与value的数组  
			  if (keyText.length < 1) {  
	                continue;  
	            }  
	            String key = keyText[0]; // key  
	            String value = keyText[1]; // value  
	            if(!"null".equals(value) && value!=""){
	            	 double d = Double.parseDouble(keyText[1]);
	            	 value=df.format(d);
	            }
	            map.put(key, value);  
	    } 
		 Collection c = map.values();
	     List list = new ArrayList(c);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值