Итоги группы в SPGridView - PullRequest
       33

Итоги группы в SPGridView

4 голосов
/ 28 февраля 2009

Когда я группирую элементы в SPGridView, используя свойство GroupField, группировка работает отлично, но общее количество строк не отображается, как в стандартном списке SharePoint. Обычно SharePoint отображает счетчик рядом с группой в круглых скобках (т.е. группа 1 (5)). Есть ли способ включить эту функцию.

Ответы [ 5 ]

0 голосов
/ 17 февраля 2011

Я знаю, что этот вопрос старый, но все равно:

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 в элемент управления с этим идентификатором.

0 голосов
/ 01 мая 2009

Если вы не хотите использовать javascript, вы можете перебирать таблицу и подсчитывать строки в каждой группе.

Недостатком является то, что вам, вероятно, потребуется подсчитать все строки, а затем вернуться и обновить имя группы в каждой строке.

Например:

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

2 в группе А
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)
0 голосов
/ 02 марта 2009

Я быстро взглянул на код, и даже переопределение SPGridview, кажется, не имеет легкого "крючка", который можно переопределить для этого.

Вы можете создать Javascript для этого, но это будет далеко не интересно.

0 голосов
/ 28 марта 2009

Javascript работает! Нат совет помог мне!

См. Пример jquery ниже:

$(".ms-gb td:contains('" + groupName + "')")
    .append("<div class='stat'>text</div>")
0 голосов
/ 28 февраля 2009

вы пытались установить для свойства DisplayGroupFieldName значение True?

Документация класса SPGridView

...