0

我使用 Kendo 网格内联编辑模式,编辑后我需要刷新 DropDownList 的数据源。

原因是我的 KendoGrid 应该添加和编辑我的 DropDownList 使用的数据。我在 KendoGrid 上编辑数据没有问题,在下面的代码的帮助下,我刷新了 DropDownList 上的数据。

var dropDownList = $("#Domains").data("kendoDropDownList");
                    dropDownList.dataSource.read();

#Domains是我的 DropDownList 的 ID

即使我编辑已在 DropDownList 上选择的数据,一切正常。但问题是在 KendoGrid(内联模式)中添加新项目并同时编辑在 DropDownList 上选择的旧项目之一。

在这种情况下,Kendo 不会编辑项目,而是将已编辑的项目作为新项目添加到数据源中,我们将旧项目和已编辑项目作为两个单独的项目。我不知道我是否正确地传达了情况。

我使用 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 回答