首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

easyui formatter之后返回合计内容

2014-04-20 
easyui formatter之后返回合计内容 在线等 代码如下

easyui formatter之后返回合计内容 在线等
 代码如下

<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之后就不对了   请问大侠们如何修改


[解决办法]

formatter:function(v,r,i){return Number(r.Marathonman)+Number(r.Marathonwomen)+Number(r.Halfmarathon)+Number(r.Tenmarathon)+Number(r.Filemarathon)}

热点排行