2009-02-27 3 views
4

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

ответ

0

Вы пытались установить DisplayGroupFieldName на True?

SPGridView class documentation

+0

Нет, это не так. Если DisplayGroupFieldName истинно, группировка выглядит так: «Group Field Name: Group 1». Если DisplayGroupFieldName ложно, группировка выглядит как «Группа 1». – joegtp

0

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

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

0

Javascript works! Консультация Nat помогла мне!

См Jquery пример ниже:

$(".ms-gb td:contains('" + groupName + "')") 
    .append("<div class='stat'>text</div>") 
0

Если вы не хотите использовать 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) 
-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>"; 
     } 
    } 

Вы можете упасть. getElementById ("your_table"), если вы хотите применить его на всю страницу в любом случае, ot поместите сетку в элемент управления с этим идентификатором.