extjs grid几列值相加求平均值

在grid中,总共有五个评委打分,平均分为得分的平均值,但是如果哪个评委没有打分,则计算平均分时,该评委不算入总人数。

定义列模型中的相关部分如下:

{
		header : "平均得分",
		autoWidth : true,
		dataIndex : "scoreAve",
		sortable : true,
		align: "center",
		type: "numberfield",
		renderer: function(value, metadata, record, rowIndex, colIndex, store) {
			// 计算平均值,如果某一评委未打分,则计算平均分时该评委不计入总人数
			var aveValue = 0;
			var num = 0;
			if(record.get("scoreOne")) {
				aveValue += record.get("scoreOne");
				num ++;
			}
			if(record.get("scoreTwo")) {
				aveValue += record.get("scoreTwo");
				num ++;
			}
			if(record.get("scoreThree")) {
				aveValue += record.get("scoreThree");
				num ++;
			}
			if(record.get("scoreFour")) {
				aveValue += record.get("scoreFour");
				num ++;
			}
			if(record.get("scoreFive")) {
				aveValue += record.get("scoreFive");
				num ++;
			}
			if(num != 0) {
				return parseFloat(aveValue/num).toFixed(2);// 保留两位小数
			} else {
				return "";// num=0表示没有评委进行打分,所以不显示平均分
			}
		}
	}, {
		header : "评委一得分",
		autoWidth : true,
		dataIndex : "scoreOne",
		sortable : true,
		align: "center",
		editor: new Ext.form.NumberField({
			allowNegative: false
		})
	}, {
		header : "评委二得分",
		autoWidth : true,
		dataIndex : "scoreTwo",
		sortable : true,
		align: "center",
		editor: new Ext.form.NumberField({
			allowNegative: false
		})
	}, {
		header : "评委三得分",
		autoWidth : true,
		dataIndex : "scoreThree",
		sortable : true,
		align: "center",
		editor: new Ext.form.NumberField({
			allowNegative: false
		})
	}, {
		header : "评委四得分",
		autoWidth : true,
		dataIndex : "scoreFour",
		sortable : true,
		align: "center",
		editor: new Ext.form.NumberField({
			allowNegative: false
		})
	}, {
		header : "评委五得分",
		autoWidth : true,
		dataIndex : "scoreFive",
		sortable : true,
		align: "center",
		editor: new Ext.form.NumberField({
			allowNegative: false
		})
	}, 


实际效果如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值