0

是否可以让 JqGrid 在每一行显示行数?例如:

Group A

1 xxx xxx xxx

2 xxx xxx xxx

Group B

1 xxx xxx xxx

2 xxx xxx xxx
4

1 回答 1

0

好吧,我不确定 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只显示数据,所以不确定这个更改是否会导致其他问题

输出: 样本输出

于 2018-08-31T04:11:21.343 回答