グリッドのポップアップ エディターにカスタム テンプレートを使用しているため、編集可能なフィールドのみを表示できます。このテンプレートでは、オートコンプリート入力を使用したいと思います。「動作」しています。コントロールはエディター テンプレートにあり、オート コンプリートが行うべきことを行います。
ただし、変更を保存してもボックスは保存されません。Kendo がモデルのフィールドとしてだけでなく、オート コンプリート コントロールとしても使用していることを確認するにはどうすればよいですか?
グリッド:
@(Html.Kendo().Grid<Receipt>()
.Name("GridReceipts")
.Columns(columns => {
columns.Bound(o => o.Id);
columns.Bound(o => o.Supplier);
columns.Bound(o => o.Status);
columns.Command(c => {
c.Edit().Text(" ");
c.Destroy().Text(" ");
});
})
.DataSource(d => d
.WebApi()
.Model(m => m.Id(o => o.Id))
.Create(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Receipts" })))
.Read(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Receipts" })))
.Update(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Receipts", id = "{0}" })))
.Destroy(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Receipts", id = "{0}" })))
)
.ToolBar(toolbar => toolbar.Create())
.Editable(e => e.Mode(GridEditMode.PopUp).TemplateName("Receipt"))
.Deferred()
)
オートコンプリート (エディター テンプレート内):
@model Receipt
<div class="k-edit-label">@Html.LabelFor(m => m.Supplier)</div>
<div class="k-edit-field">
@(Html.Kendo().AutoCompleteFor(m => m.Supplier)
.Name("Supplier")
.DataSource(s => {
s.Read("Autocomplete", "Suppliers");
})
.DataTextField("Name")
.MinLength(2)
)
</div>