如何在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只显示数据,因此不确定此更改是否会导致其他问题

输出:Sample output

以上是关于如何在JqGrid中按组显示每行的行数的主要内容,如果未能解决你的问题,请参考以下文章

在 Pandas 数据框中按组过滤具有最小值的行 [重复]

在 R 中按组创建组合

Jqgrid:获取应用本地过滤器后的行数

在目录中按组大小压缩文件

如何计算文本在 JTextArea 中的行数(以及每行中的列数)?

在 Pandas GroupBy 数据框中按 ID 计算两个日期之间的行数