easyui formatter之后返回合计内容 在线等

treemo 2013-12-23 11:16:30
代码如下
<div class="easyui-panel" style="padding:2px;" data-options="fit:'true'">
<input type="hidden" value="@ViewBag.creat" id="send_date" name="send_date"/>
<table id="gridTable" class="easyui-datagrid" data-options="rownumbers:true,
fit:true,
singSelect:true,
striped:true,
collapsible:true,
pagination:true,
nowrap:true,
fitColumns:true,
border:true,
pageList: [30,50,80,100],
url:'getListByTeam?send_date=@ViewBag.creat'">
<thead>
<tr>
<th data-options="field:'GroupName',width:100,align:'center'">团体名称</th>
<th data-options="field:'Marathonman',width:100,align:'center',sum:'true'">全程男</th>
<th data-options="field:'Marathonwomen',width:100,align:'center',sum:'true'">全程女</th>
<th data-options="field:'Halfmarathon',width:100,align:'center',sum:'true'">半程马拉松</th>
<th data-options="field:'Tenmarathon',width:100,align:'center',sum:'true'">10公里</th>
<th data-options="field:'Filemarathon',width:100,align:'center',sum:'true'">5公里</th>
<th data-options="field:'h',width:100,align:'center',formatter:function(v,r,i){return r.Marathonman+r.Marathonwomen+r.Halfmarathon+r.Tenmarathon+r.Filemarathon}">总计</th>
<th data-options="field:'Groupid',width:100,formatter:function(value,row,index){return display(row.Groupid);},align:'center'"></th>
</tr>
</thead>
</table>
</div>

$('#gridTable').datagrid({

showFooter : true,
onLoadSuccess : function() {
$('#gridTable').datagrid('statistics');
}
});

$.extend($.fn.datagrid.methods, {
statistics: function (jq) {
var opt = $(jq).datagrid('options').columns;
var rows = $(jq).datagrid("getRows");
var footer = new Array();
footer['sum'] = "";
for (var i = 0; i < opt[0].length; i++) {
if (opt[0][i].sum) {
footer['sum'] = footer['sum'] + sum(opt[0][i].field) + ',';
}
}

var footerObj = new Array();

if (footer['sum'] != "") {
var tmp = '{' + footer['sum'].substring(0, footer['sum'].length - 1) + "}";
var obj = eval('(' + tmp + ')');
if (obj[opt[0][0].field] == undefined) {
footer['sum'] += '"' + opt[0][0].field + '":"<b>当页合计:</b>"';
obj = eval('({' + footer['sum'] + '})');
} else {
obj[opt[0][0].field] = "<b>当页合计:</b>" + obj[opt[0][0].field];
}
footerObj.push(obj);
}
if (footerObj.length > 0) {
$(jq).datagrid('reloadFooter', footerObj);
}


function sum(filed) {


var sumNum = 0;
for (var i = 0; i < rows.length; i++) {
sumNum += Number(rows[i][filed]);
}
return '"' + filed + '":"' + sumNum.toFixed(0) + '"';
}

}
})

个、扩展合计功能 前几列是正常的 但是后面两列因为formatter之后就不对了 请问大侠们如何修改
...全文
238 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
allali 2013-12-23
  • 打赏
  • 举报
回复
引用 3 楼 u011587674 的回复:
引用 2 楼 MengYouXuanLv 的回复:
formatter:function(v,r,i){return Number(r.Marathonman)+Number(r.Marathonwomen)+Number(r.Halfmarathon)+Number(r.Tenmarathon)+Number(r.Filemarathon)}
只要加个Number就可以?
转成数字类型计算 不然是字符串拼接了
treemo 2013-12-23
  • 打赏
  • 举报
回复
引用 2 楼 MengYouXuanLv 的回复:
formatter:function(v,r,i){return Number(r.Marathonman)+Number(r.Marathonwomen)+Number(r.Halfmarathon)+Number(r.Tenmarathon)+Number(r.Filemarathon)}
只要加个Number就可以?
allali 2013-12-23
  • 打赏
  • 举报
回复
formatter:function(v,r,i){return Number(r.Marathonman)+Number(r.Marathonwomen)+Number(r.Halfmarathon)+Number(r.Tenmarathon)+Number(r.Filemarathon)}
treemo 2013-12-23
  • 打赏
  • 举报
回复

结果图

61,110

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧