Kendo グリッドのインライン編集モードを使用しています。編集後、DropDownList のデータソースを更新する必要があります。
その理由は、私の KendoGrid は、私の DropDownList が使用するデータを追加および編集することになっているためです。KendoGrid でのデータの編集に問題はありません。以下のコードを使用して、DropDownList のデータを更新します。
var dropDownList = $("#Domains").data("kendoDropDownList");
dropDownList.dataSource.read();
#Domains
私のDropDownListのIDです
DropDownList で既に選択されているデータを編集しても、すべて正常に機能します。しかし、KendoGrid (インライン モード) に新しいアイテムを追加し、同時に DropDownList で選択されている古いアイテムの 1 つを編集すると、問題が発生します。
この場合、Kendo はアイテムを編集しませんが、編集されたアイテムを新しいアイテムとしてデータ ソースに追加し、古いアイテムと編集されたアイテムを 2 つの別個のアイテムとして保持します。状況を正しく伝えているかどうかわかりません。
私は MVC を使用しており、データソースを定義する方法は次のとおりです。
.DataSource(dataSource => dataSource
.Ajax()
.Events(events => { events.Error("result_handler"); })
.Model(model => model.Id(p => p.Id))
.Create(create => create.Action("AddDomain", "Service", new { customerID = ViewBag.CustomerId }))
.Read(read => read.Action("GetDomainListForGrid", "Service", new { customerID = ViewBag.CustomerId }))
.Update(update => update.Action("EditDomain", "Service"))
.Destroy(destroy => destroy.Action("DeleteDomain", "Service"))
)
ご覧のとおり、上記のように model.Id を設定しました。