私の問題は、Telerik MVCグリッドコントロール内の入れ子になったDropDownListの選択値を設定する必要があることです。グリッドはクライアント上にバインドされているので、クライアント上の "onDrpLoad"イベントでドロップダウンリストの選択項目を設定する必要があります。Telerik MVC Gridのドロップダウンリストで選択されたインデックスを設定します。
以下のドロップダウンリストで選択したインデックスを正しく設定するにはどうすればよいですか?また、ドロップダウンリスト内の選択された項目が設定されているときに、「onDrpChange」イベントが発生しないことも重要です。また、 "onDrpChange"イベントは、イベントが発生したときに選択されたアシスタントのAssistantIdにアクセスする(サーバーに送信する)必要があります。
これを行う簡単でシンプルな方法はありますか?
Html.Telerik().Grid<Person>().Name("Grid")
.DataBinding(dataBinding => dataBinding.Ajax).Select("GetDetails", "Person"))
.Columns(columns => columns.Bound(p => p.AssistantId).ClientTempalate(
Html.Telerik().DropDownList().Name("AssistantList_<#= PersonId #>").BindTo(new
SelectList(AssistantController.GetAssistants))).ClientEvents(events => events.OnLoad("onDrpLoad"); events.OnChange("onDrpChange");
).ToHtmlString());
ありがとうございます。
私はこの問題を解決するために、新たな外国列機能で行くことにしました。唯一の欠点は、編集コマンドボタンの新しい列を追加する必要があることです。 – Stardust
ご意見ありがとうございます。グリッドがクライアント上にバインドされているため(つまり、Ajax Bindingを使用)、selectコマンド(「GetDetails」)から項目データを取得したため、このリストをモデルに公開する必要はありませんでした。私の問題は、ビューモデルオブジェクトが構築されたときにサーバー上に表示される項目がわからないということです。つまり、サーバー側のドロップダウンリストがある場合は、選択したインデックスのみをclient.FYI-この問題を解決するには、Telerik GridコントロールのForeignKey列機能を使用しました。欠点は、私は今、 "コマンドボタンの列"が必要です。 – Stardust