2012-03-05 21 views
1

私のプロジェクトでTelerikのMVC Gridを使用しています。残念ながら、私は最後に立ち往生しています。問題は、列内にコレクションを表示したいということです。コレクションは私のユーザーモデルのプロパティです。ここにサンプルコードはあります:Telerik MVC Grid:列内のコレクション

{...}  
    .Columns(columns => 
    { 
     columns.Bound(u => u.Id).Title("No.").Width(100); 
     columns.Bound(u => u.UserName).Title("User Name"); 
     columns.Bound(u => u.CompanyName).Title("Company Adı"); 
     columns.Template(u => 
      { 
       foreach(var item in u.Roles) 
       { 

       } 
      }).Title("Roller"); 
     columns.Command(commands => 
      {      
       commands.Custom("viewDetails") 
       .Text("Detail") 
       .DataRouteValues(route => route.Add(o => o.Id).RouteKey("UserAccountId")) 
       .Ajax(false) 
       .Action("UserAccountRead", "Account"); 
       commands.Delete().ButtonType(GridButtonType.ImageAndText); 
      }) 
     .Width(200); 
    }) 
    .Sortable() 
    .Pageable(paging => paging.PageSize(10)) 
    .Localizable("en-EN") 
    ) 
{...} 

foreachループで私はユーザーの役割を表示するために多くのことを試みましたが、成功しませんでした。

@item.Name 
I Got : Error: Only assignment, call, increment, decrement and new object expressions can be used as a statement 

@:<text>@item.Name</text> 
I Got: ; required 

など...ユーザーの役割を表示するための列を作成するための声明として何を書きますか?

答えて

1

モデルにReadOnlyプロパティを追加すると、簡単な書式設定されたテキストが返されます。例:

partial class MyModel{ 
     public string RolesAsString 
     { 
      get{ 
       string result=""; 
       foreach(var item in this.Roles) 
       { 
        result += string.format("{0},",item); 
       } 
       return result.trim(","); 

      } 
     } 


    } 
+0

あなたの解決策Mahmoudに感謝します。 ';({role.Name @

  • }
      @ @foreach(item.RolesにおけるVARの役割)
    )' columns.Template .TITLE( "ローラー"):私もの問題を解決しました –

  • +0

    しかし、あなたの解決策はajaxコールバック(あなたに何かがある場合)で問題を引き起こします。 –

    関連する問題