C# SPGridView中的组总计
当我使用GroupField属性对SPGridView中的项目进行分组时,分组效果很好,但总行数不会像标准SharePoint列表中那样显示。通常SharePoint会在括号中的组旁边显示计数(即组1(5))。是否有办法启用此功能。是否尝试将C# SPGridView中的组总计,c#,.net,sharepoint,spgridview,C#,.net,Sharepoint,Spgridview,当我使用GroupField属性对SPGridView中的项目进行分组时,分组效果很好,但总行数不会像标准SharePoint列表中那样显示。通常SharePoint会在括号中的组旁边显示计数(即组1(5))。是否有办法启用此功能。是否尝试将DisplayGroupFieldName属性设置为True 我快速查看了代码,甚至覆盖SPGridview似乎也没有一个简单的“钩子”来覆盖它 您可以创建Javascript来实现这一点,但这远远不是娱乐。Javascript可以工作!纳特的建议帮助了我
DisplayGroupFieldName
属性设置为True
我快速查看了代码,甚至覆盖SPGridview似乎也没有一个简单的“钩子”来覆盖它
您可以创建Javascript来实现这一点,但这远远不是娱乐。Javascript可以工作!纳特的建议帮助了我 请参见下面的jquery示例:
$(".ms-gb td:contains('" + groupName + "')")
.append("<div class='stat'>text</div>")
$(“.ms gb td:contains(“+groupName+”)”)
.append(“文本”)
如果您不想使用javascript,可以遍历表并计算每个组中的行数
缺点是您可能需要计算所有行,然后返回并更新每行中的组名
例如:
ID Value Group
1 One GroupA
2 Two GroupA
3 Three GroupB
4 Four GroupB
5 Five GroupB
A组中有2个b组3例
ID Value Group
1 One GroupA (2)
2 Two GroupA (2)
3 Three GroupB (3)
4 Four GroupB (3)
5 Five GroupB (3)
我知道这个问题由来已久,但无论如何:
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>";
}
}
var rows=document.getElementById(“您的表”).getElementsByTagName(“TR”);
对于(变量i=0;i
如果仍要将.getElementById(“您的表”)部分应用于整个页面,则可以删除该部分,否则将gridview放在具有该ID的控件中。不,这样做不行。如果DisplayGroupFieldName为true,则分组看起来像“组字段名称:组1”。如果DisplayGroupFieldName为false,则分组看起来像“组1”。