目前我在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);
}
});
答案 0 :(得分:0)
请检查this demo - 总数不是每页,但每组看到组值AROUT。我唯一能想到的是你每页都动态提供数据(来自带分页的服务器)而不是一次提供 - 在这种情况下,就像你描述的那样