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 }) },

实际效果如下:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值