2011-09-08 42 views
1

我正在尋找一個項目使用Telerik MVC3 Razor網格控件。如何從Telerik MVC(剃鬚刀)網格控件中的分組列中刪除「列名:」

分組工作真的很好,但是可以從分組中刪除「列名:」嗎? 例如

"Product Size: Large" 
"Product Size: Small" 
"Product Size: Medium" 

變化

"Large" 
"Small" 
"Medium" 

如果我一個GroupHeaderTemplate添加到塔(C => C ...)然後我可以得到文本說我想做的事情......但隨後的同一列也在我的網格中顯示以後(分組列之後)

@(Html.Telerik().Grid(Model) 
    .Name("Grid") 
    .Columns(columns => 
    { 
     columns.Bound(c => c.SheetLine).Visible(false) 
      .Aggregate(a => a.Count()) 
      .GroupHeaderTemplate(@<text>@item.Key (@item.Count)</text>); 
     columns.Bound(c => c.VSACode); 
     columns.Bound(c => c.Bucket100) 
      .Title("First"); 
    }) 
    .Groupable(groupable => groupable.Groups(group => 
         { 
          group.Add(g => g.SheetLine); 
          group.Add(g => g.PrintLine); 
          group.Add(g => g.SelectionLine); 
         }).Visible(false)) 
) 

顯示器

Capture1

@(Html.Telerik().Grid(Model) 
     .Name("Grid") 
     .Columns(columns => 
     { 
      columns.Bound(c => c.SheetLine) 
       .Aggregate(a => a.Count()) 
       .GroupHeaderTemplate(@<text>@item.Key</text>); 
      columns.Bound(c => c.VSACode); 
      columns.Bound(c => c.Bucket100) 
       .Title("First"); 
     }) 
     .Groupable(groupable => groupable.Groups(group => 
          { 
           group.Add(g => g.SheetLine); 
           group.Add(g => g.PrintLine); 
           group.Add(g => g.SelectionLine); 
          }).Visible(false)) 
    ) 

顯示

Capture2

但我無法找到中間立場,以擺脫第二「SheetLine」,因此它只是一個分組列,並有一個groupheadertemplate。

回答

1

貌似已經報道了Telerik的支持論壇在這裏了以下問題:

http://www.telerik.com/community/forums/aspnet-mvc/grid/custom-label-for-group.aspx

目前還沒有辦法來配置,但你可以對你組隱藏列(隱())。只要確保您將該列最後放置在列表中以支持IE。

所以基本上,你必須實現一個放置列的解決方案上,您在網格定義的列的列表中最後一個,然後你要隱藏它們(隱藏()...不可見(假)組! )。

+0

你的回答正是我一直在尋找用的。謝謝。 – Tundey

2

你可以簡單地應用以下技術:

@(Html.Telerik().Grid(Model) 
     .Name("Grid") 
     .Columns(columns => 
     { 
      columns.Bound(c => c.SheetLine) 
       .Aggregate(a => a.Count()) 
       .GroupHeaderTemplate(@<text>@item.Key (@item.Count)</text>).Hidden(true); 

      columns.Bound(c => c.PrintLine)   
       .GroupHeaderTemplate(@<text>@item.Key</text>).Hidden(true); 

      columns.Bound(c => c.SelectionLine)   
       .GroupHeaderTemplate(@<text>@item.Key</text>).Hidden(true); 

      columns.Bound(c => c.VSACode); 
      columns.Bound(c => c.Bucket100) 
       .Title("First"); 
     }) 
     .Groupable(groupable => groupable.Groups(group => 
          { 
           group.Add(g => g.SheetLine); 
           group.Add(g => g.PrintLine); 
           group.Add(g => g.SelectionLine); 
          }).Visible(false)) 
    ) 
0

試試這個,在網格數據綁定:

if($('#grid tbody .k-grouping-row:contains("FieldName") td p').length != 0) 
{ 
    $('#grid tbody .k-grouping-row:contains("FieldName") td p')[0].innerHTML = "<[a] tabindex=\"-1\" class=\"k-icon k-i-collapse\" href=\"#\" /> Your text"; 
}