使jqgrid仅显示组中最后一行的单个组页脚

时间:2017-09-10 06:46:20

标签: jqgrid

目前我在jqgrid中使用分组和分页。数据很长,每个组可能在jqgid中跨越几页。我应用了组总数,似乎每个页面都存在组总数,而计算(总和)基于当前页面的现有行。在我的用例中它有误导性,我希望在每组的最后一行之后显示组总数。 我使用的是v5.1.1版(Guriddo jqGrid JS) 它可以实现吗?

$grid.jqGrid({

            data: dataarray,
            datatype: 'local',
            height: 'auto',
            width: '100%',
            viewrecords: true,
            sortable: true,
            loadonce: true,
            colNames: columnarray,
            colModel: columnmodelarray,
            rownumbers: true,
            grouping: true, 

            rowNum: 20,
            gridview: true, 
            regional : 'en',
            autowidth:true, 
            shrinkToFit:false,
            rowList: [20, 50, 100, 200,400,999999999999],           
            userDataOnFooter: true,
            footerrow:true,
            sortname:sortname,
            sortorder:sortorder,
            colMenu : true,

            pager: pagerid,
            groupingView:groupviewjsondata,
            loadComplete:function()
            {
                //calculate total to put at bottom
                var columncontent={};
                var i=0;
                var lastcolumn='';

                var isshownumber=0;

                $.each(colmodels,function(colno,colobj)
                {
                    if(colobj.datatype=='number' && colobj.withtotal == true)
                    {
                        var tmptotal=0;
                        $.each(rp.result.data,function(row_id,row)
                        {
                            if(typeof row[ colobj['name']] =='string')
                            {
                                row[ colobj['name']]=parseFloat(row[ colobj['name']]);
                            }

                            tmptotal += row[ colobj['name']];
                        });
                        columncontent[colobj['name']]=tmptotal;
                        isshownumber++;

                    }
                    if( isshownumber==1) 
                    {                       
                        columncontent[lastcolumn]='<div style="text-align:right">'+lang('Total')+'</div>';                      
                    }
                    if((colobj.datatype=='date' || colobj.datatype=='string')&& (colobj.hidden===undefined ||colobj.hidden==false) )
                    {
                        lastcolumn=colobj['name'];  
                    }

                });

                $grid.jqGrid('footerData','set',columncontent);

            }
        });

1 个答案:

答案 0 :(得分:0)

请检查this demo - 总数不是每页,但每组看到组值AROUT。我唯一能想到的是你每页都动态提供数据(来自带分页的服务器)而不是一次提供 - 在这种情况下,就像你描述的那样