4

当我使用 GroupField 属性对 SPGridView 中的项目进行分组时,分组效果很好,但总行数不像标准 SharePoint 列表中那样显示。通常 SharePoint 会在括号中的组旁边显示计数(即组 1 (5))。有没有办法启用这个功能。

4

5 回答 5

0

如果您不想使用 javascript,您可以遍历表并计算每个组中的行数。

缺点是您可能需要计算所有行,然后返回并更新每行中的组名。

例如:

ID  Value   Group
1   One     GroupA
2   Two     GroupA
3   Three   GroupB
4   Four    GroupB
5   Five    GroupB

2 组 A
3 组 B

ID  Value   Group
1   One     GroupA (2)
2   Two     GroupA (2)
3   Three   GroupB (3)
4   Four    GroupB (3)
5   Five    GroupB (3)
于 2009-04-30T21:46:27.860 回答
0

Javascript有效!Nat 的建议帮助了我!

请参阅下面的 jquery 示例:

$(".ms-gb td:contains('" + groupName + "')")
    .append("<div class='stat'>text</div>")
于 2009-03-27T22:56:54.197 回答
0

我快速查看了代码,甚至覆盖 SPGridview 似乎也没有一个简单的“钩子”来覆盖它。

您也许可以创建 Javascript 来执行此操作,但这远非有趣。

于 2009-03-02T02:25:10.560 回答
0

您是否尝试将DisplayGroupFieldName属性设置为True

SPGridView 类文档

于 2009-02-28T05:23:34.767 回答
-1

我知道这个问题很老,但无论如何:

var rows = document.getElementById("your_table").getElementsByTagName("TR");
for (var i = 0; i < rows.length; i++) {
    if (rows[i].className == 'ms-gb') {
        var count = 0;
        var el = rows[i].nextSibling;
        while (el) {
            if (el.className != 'ms-gb')
                count++;
            else
                break;
            el = el.nextSibling;
        }
        rows[i].children[0].innerHTML += " <span dir='ltr'>(" + count + ")</span>";
       }
    }

如果您想将其应用于整个页面,则可以 drop.getElementById("your_table") 部分,否则将 gridview 放在具有该 ID 的控件中。

于 2011-02-17T11:01:49.380 回答