当我使用GroupField属性对SPGridView中的项目进行分组时,分组效果很好,但总行数不会像标准SharePoint列表中那样显示。通常,SharePoint将在括号中显示该组旁边的计数(即组1(5))。有没有办法启用此功能。
答案 0 :(得分:0)
您是否尝试将DisplayGroupFieldName
属性设置为True
?
答案 1 :(得分:0)
我快速查看了代码,甚至覆盖SPGridview似乎没有一个简单的“钩子”来覆盖它。
你可以创建Javascript来做到这一点,但它远非有趣。
答案 2 :(得分:0)
Javascript有效! Nat的建议帮助了我!
请参阅下面的jquery示例:
$(".ms-gb td:contains('" + groupName + "')")
.append("<div class='stat'>text</div>")
答案 3 :(得分:0)
如果您不想使用javascript,则可以遍历表并计算每个组中的行数。
缺点是您可能需要计算所有行,然后返回并更新每行中的组名。
例如:
ID Value Group
1 One GroupA
2 Two GroupA
3 Three GroupB
4 Four GroupB
5 Five GroupB
GroupA中2 GroupB中的3个
ID Value Group
1 One GroupA (2)
2 Two GroupA (2)
3 Three GroupB (3)
4 Four GroupB (3)
5 Five GroupB (3)
答案 4 :(得分:-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的控件中。