1

ASP.Net MVC 3、Kendo UI Web、Kendo グリッド コントロール。

私のメイン データソースは、外部キー バインディングを介して外部データソースを使用します。

.Columns(columns =>
{
    columns.ForeignKey(p => p.FK_ID, (System.Collections.IEnumerable)ViewData["things"], "ID", "NAME");
    ...

ビュー モードでは、バインディングは期待どおりに機能しますNAME。「FK_ID - ID」関係によってバインドされたプロパティが表示されます。

ただし、編集モードに入ると、奇妙なことが起こります。

  • インライン モード -- 列は無効です (つまり、このフィールドにはどのような種類のエディタもありません)。

  • ポップアップモードで -- コンボボックスではなくエディットボックスエディタがあるため、バインドしているにもかかわらず手動で入力する必要があります

Kendo の Web サイトのデモでは、外部キーが編集モードの場合、コンボボックスが表示され、選択は外部データソースに限定されます (かなり常識的です)。

では、コンボボックスを表示し、そこに表示されている値からのみ選択するには、さらにどうすればよいでしょうか?

4

1 に答える 1

3

必要な外部キー エディタがあるかどうかを確認していただけますか。これは Views/Shared/EditorTemplates フォルダーの下にある必要があり、その名前はGridForeignKey.cshtml (または ASPX ビュー エンジンを使用している場合は .aspx) です。

そこにない場合は、上記の情報を使用して手動で追加できます。エディタの内容は次のとおりです。

@( Html.Kendo().DropDownList()
    .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
    .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"]))
于 2012-10-30T20:02:11.387 に答える