使 jqgrid 仅在组的最后一行显示单个组页脚
Make jqgrid only show single group footer at last row in group
目前我在 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);
}
});
请检查 this demo - 总数不是每页,而是每组,请参阅组值 AROUT。我唯一能想到的是你每页动态提供数据(从带有分页的服务器)而不是一次 - 在这种情况下就像你描述的那样
目前我在 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);
}
});
请检查 this demo - 总数不是每页,而是每组,请参阅组值 AROUT。我唯一能想到的是你每页动态提供数据(从带有分页的服务器)而不是一次 - 在这种情况下就像你描述的那样