2016-10-23 12 views
0

私は自分のプロジェクトでGrid.Mvcを使用しています。私は、ユーザーによるオプションのグリッドプロパティを作成したい。たとえば、ユーザーの1人がグリッドタイトルを「スキーマ」として、別のユーザーが「スキーマ名」として表示したいとします。私はデータベースからそれを制御します。Grid.Mvcをコントローラから作成するには?

コントローラから以下のコードを作成し、cshtmlに書き込む必要があります。どうしたらいいですか?あなたは、コントローラからグリッドを作成する必要はありません

@Html.Grid(Model).Columns(columns => 
        { 
         columns.Add(c => c.SchemeID).Titled("Scheme ID").Filterable(true); 
         columns.Add(c => c.SchemeName).Titled("SchemeName").Filterable(true); 
         columns.Add() 
         .Encoded(false) 
         .Sanitized(false) 
         .SetWidth(30) 
         .RenderValueAs(o => Html.ActionLink("Edit", "Edit", new { id = o.SchemeID })); 

        }).WithPaging(10).Sortable(true) 

答えて

0

は、何が必要ユーザー設定を保存し、ビューモデルに渡し、その後、グリッドを作成するために、ビューでそれを使用することです。

例: SchemaColumnTitleというプロパティを持つUserGridSettingsという名前のクラスを作成した場合、必要なものを追加できます。あなたのビューモデルで

、あなたがタイプUserGridSettingsのプロパティを追加し、以下のようにビューでそれを使用します。もちろん

@Html.Grid(Model).Columns(columns => 
        { 
         columns.Add(c => c.SchemeID).Titled("Scheme ID").Filterable(true); 
         columns.Add(c => c.SchemeName).Titled(Model.GridSettings.SchemaColumnTitle).Filterable(true); 
         columns.Add() 
         .Encoded(false) 
         .Sanitized(false) 
         .SetWidth(30) 
         .RenderValueAs(o => Html.ActionLink("Edit", "Edit", new { id = o.SchemeID })); 

        }).WithPaging(10).Sortable(true) 

、あなたはモデルがUserGridSettingsのリストを持っていることを確認して@Html.Grid内側にすることができますこのリストを反復して列を動的に構築することができます。

関連する問題