データにビューモデルを使用する Telerik Grid を持つ ASP.NET MVC3 ビューがあります。
要件の 1 つは、ルックアップ テーブルからデータを取得するグリッド列の 1 つにドロップダウン コントロールが必要であることです。
MVC3 は比較的新しいので、Razor ビューはモデル ディレクティブ IE を 1 つしか使用できないため、次のように考えました。
@model IEnumerable<MarketingWebsiteTools.Models.EditableItemInfo>
ドロップダウン ルックアップ値は、グリッドのデータとともに ViewModel にマップし直す必要があることを確認してください。
この時点で、次のように ClientTemplate で Html.Telerik().ComboBox() を使用していることに言及することが適切かもしれません。
.Columns(columns =>
{
columns.Bound(o => o.ItemNmbr).Width(65);//.ClientTemplate("<label name='ProductIdentifier' />");
columns.Bound(o => o.Description).Width(65)
.ClientTemplate(Html.Telerik().ComboBox()
.Name("Special")
**.BindTo(new SelectList())**
.ToHtmlString());
columns.Bound(o => o.Start_Date).Width(75).Format("{0:d}");
columns.Bound(o => o.End_Date).Width(75).Format("{0:d}");
columns.Bound(o => o.PromotionText).Width(75);
columns.Command(commands => commands.Delete()).Width(125).Title("Delete");
})
私の質問は: BindTo(new SelectList()) に関して、System.Collections.Generic.IEnumerable 型のパラメーターを提供する必要がありますが、ビューモデルからそれを取得する方法がわかりません。そのルックアップデータを別の方法で取得しています...
この例を見ました: http://www.telerik.com/community/forums/aspnet-mvc/combobox/bindto.aspx
ただし、私のコードまたはインテリセンスはモデル IE を認識していないようです: .BindTo(new SelectList(Model.))
この例も見ました: How to insert drop down list box in a Telerik grid
コントローラー内のメソッドへの呼び出しがあるように見えますが、そのコントローラーへのアクセスはありません..
助けてくれてありがとう。
ダグ