如何在JqGrid中按组显示每一行的行数

时间:2018-08-30 17:00:36

标签: jqgrid

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

Group A

1 xxx xxx xxx

2 xxx xxx xxx

Group B

1 xxx xxx xxx

2 xxx xxx xxx

1 个答案:

答案 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