Когда я группирую элементы в SPGridView с использованием свойства GroupField, группировка отлично работает, но общее количество строк не отображается, как в стандартном списке SharePoint. Обычно SharePoint отображает счетчик рядом с группой в скобках (т. Е. Группа 1 (5)). Есть ли способ включить эту функциональность.Групповые итоги в SPGridView
ответ
Вы пытались установить DisplayGroupFieldName
на True
?
Я был беглый взгляд на код и даже перекрывая SPGridview, кажется, не имеют легкий «крюк», чтобы переопределить для этого.
Возможно, вы сможете создать Javascript, но это будет далеко не интересно.
Javascript works! Консультация Nat помогла мне!
См Jquery пример ниже:
$(".ms-gb td:contains('" + groupName + "')")
.append("<div class='stat'>text</div>")
Если вы не хотите использовать JavaScript, вы можете перебирать таблицы и подсчета числа строк в каждой группе.
Недостатком является то, что вам, вероятно, потребуется подсчитать все строки, а затем вернуться и обновить имя группы в каждой строке.
Например:
ID Value Group
1 One GroupA
2 Two GroupA
3 Three GroupB
4 Four GroupB
5 Five GroupB
2 в GroupA
3 в GroupB
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>";
}
}
Вы можете упасть. getElementById ("your_table"), если вы хотите применить его на всю страницу в любом случае, ot поместите сетку в элемент управления с этим идентификатором.
Нет, это не так. Если DisplayGroupFieldName истинно, группировка выглядит так: «Group Field Name: Group 1». Если DisplayGroupFieldName ложно, группировка выглядит как «Группа 1». – joegtp