0

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 を設定しました。

4

1 に答える 1

0

いいアイデアじゃない!ただし、DropDownList 項目を選択する前にグリッド上のデータを更新すると役立ちます。

var grid = $("#grid").data("kendoGrid");
                    grid.dataSource.read();
于 2013-01-21T11:31:50.287 に答える