2009-02-27 22 views
4

GroupFieldプロパティを使用してSPGridView内のアイテムをグループ化すると、グループ化は機能しますが、合計行カウントは標準のSharePointリストのようには表示されません。通常、SharePointはカッコ内にグループの横にカウントを表示します(つまり、グループ1(5))。この機能を有効にする方法はありますか?SPGridViewのグループ合計

答えて

0

DisplayGroupFieldNameプロパティをTrueに設定してみましたか?

SPGridView class documentation

+0

いいえ、それはしませんでした。 DisplayGroupFieldNameがtrueの場合、グループ化は "Group Field Name:Group 1"のようになります。 DisplayGroupFieldNameがfalseの場合、グループ化は "Group 1"のようになります。 – joegtp

0

私は、コードを簡単に見ていたとさえSPGridviewをオーバーライドすることは、このために無効にする簡単な「フック」を持っていないようです。

これを行うにはJavascriptを作成することができますが、それは面白くないでしょう。

0

Javascriptが機能します。ナットのアドバイスが私を助けました!あなたはJavaScriptを使用したくない場合は、テーブルを反復処理し、各グループ内の行を数えることができる

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

は以下のjqueryの例を参照してください。

おそらく、すべての行を数え、そして戻って各行のグループ名を更新する必要があるということです。例えば

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>"; 
     } 
    } 

あなたがドロップすることができます:私はとにかく、この質問が古いですけど、グループB

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

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

グループA
で2 3。とにかくページ全体に適用したい場合はgetElementById( "your_table")部分グリッドビューをそのIDのコントロールに配置します。