是否可以使JqGrid在每一行上显示行数? 例如:
Group A
1 xxx xxx xxx
2 xxx xxx xxx
Group B
1 xxx xxx xxx
2 xxx xxx xxx
答案 0 :(得分:0)
好吧,我不确定jqGrid是否支持,但是我已经调整了插件以支持我想要的
对于那些也希望拥有此功能的人,可以尝试以下步骤:
1)启用行编号功能进行分组
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仅显示数据,所以不确定此更改是否会引起其他问题
输出: Sample output