【问题标题】:Displaying total number of sub groups in a group显示组中子组的总数
【发布时间】:2014-07-25 08:47:21
【问题描述】:

我正在使用 struts2 jqgrid 我想知道是否有一种方法可以用来显示组中子组的数量。例如

-grp1.   Total records 8 total sub groups 2
 +subgrp1 total records 4
 +subgrp2 total records 4
-grp2    Total records 6 total sub groups 1
 +subgrp1 total records 6
+grp3 Total records 6 total sub groups 2

如何显示组中子组的数量

我可以通过使用得到Total records 6

Total records: {1}

我找不到如何获得子网格总数

【问题讨论】:

  • 了解您是使用本地分组还是服务器端分组可能很重要。我的意思是:您是否已经计算了要显示的值,而您的问题是仅显示这些值,还是您也需要计算这些值?您是否尝试使用分组摘要(请参阅the documentation)?顺便问一下:你看到the answerthis one了吗?
  • 我的回复与第二个答案的第一条评论相同,但只有前两行
  • @Haider 你有什么想法我的回复与第二个答案的第一条评论相同,但只有前两行
  • @Haider:对不起,你能说得更清楚些吗?我不明白你的意思。
  • @Haider:我只看到两个地方可以提高性能(只有一点点):1)将names = new Object()替换为names = {} 2)将item.grp2保存在附加变量中并使用它改为:var gName; 开头并将names[item.grp2] = item.grp2; 替换为gName = item.grp2; names[gName] = gName;。一般来说,代码中的这些小改动并不重要。

标签: struts2 jqgrid struts2-jquery


【解决方案1】:

感谢 Oleg,this 解决了我的问题,解决方案是

function groupFormater(cellval, opts, rowObject, action)
{

    var groupIdPrefix = opts.gid + "ghead_", 
    groupIdPrefixLength = groupIdPrefix.length,
    names = {}, data, i, l, item;    

    if (opts.rowId.substr(0, groupIdPrefixLength) === groupIdPrefix && 
              typeof action === "undefined") 
    {           
        data = $(this).jqGrid("getGridParam", "data");
        for (i = 0, l = data.length; i < l; i++) {
             item = data[i];
             if (item.grp1 === cellval) {
                 names[item.grp2] = item.grp2;
             }
         }
        return cellval + " Total sub group : " + Object.keys(names).length;
    }       
    return  cellval;
}

【讨论】:

    猜你喜欢
    • 2017-12-30
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多