如何在JqGrid中按组显示每行的行数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在JqGrid中按组显示每行的行数相关的知识,希望对你有一定的参考价值。
是否可以使JqGrid在每一行显示行数?例如:
Group A
1 xxx xxx xxx
2 xxx xxx xxx
Group B
1 xxx xxx xxx
2 xxx xxx xxx
答案
好吧,我不确定jqGrid支持与否,但我已经调整了插件来支持我想要的东西
对于那些希望拥有此功能的人,可以尝试以下步骤:
1)启用rownumbers功能进行分组
if (p.grouping === true) {
p.scroll = false;
// p.rownumbers = false; <-- comment it
...
2)计算行号
- 在p.lastSelectedData = query.select()之后;添加以下代码
if (p.rownumbers && p.grouping && p.groupingView.groupField.length > 0){
var lastGroupVal = {};
var custGroupCount = 0;
var groupColName = '';
for(var custCount=0; custCount<p.groupingView.groupField.length; custCount++){
groupColName = p.groupingView.groupField[custCount];
lastGroupVal[groupColName] = '';
}
for (j = 0; j < total; j++) {
custGroupCount ++;
for(var custCount=0; custCount<p.groupingView.groupField.length; custCount++){
groupColName = p.groupingView.groupField[custCount];
if(lastGroupVal[groupColName] != p.lastSelectedData[j][groupColName]){
custGroupCount = 1;
lastGroupVal[groupColName] = p.lastSelectedData[j][groupColName];
}
}
p.lastSelectedData[j]['custGroupCount'] = custGroupCount;
}
}
- 这将计算每个行计数并分配到'custGroupCount'字段
- 将值赋值给lastSelectedData是因为我看到它使用此变量来显示数据
3)使用'custGroupCount'显示行号
- 在addRowNum函数中,在为'v'赋值后,添加
if (p.grouping && p.groupingView.groupField.length > 0){
v = p.lastSelectedData[(v-1)]['custGroupCount'];
}
ps:我使用jqGrid只显示数据,因此不确定此更改是否会导致其他问题
以上是关于如何在JqGrid中按组显示每行的行数的主要内容,如果未能解决你的问题,请参考以下文章