我有一个具有多个选项卡的应用程序,并且我在其中一个选项卡中放置了一个 KendoUI 网格,该选项卡的代码位于 .js 文件中。(即视图具有 div 标签,然后将 div 标签呈现到 .js 文件中的 KendoUI 网格)。它的数据源正在从基于 MVC 的应用程序的模型文件中编写的类中获取值。当我移动到任何其他选项卡时,我想让网格可编辑并将更改异步保存到数据源。朝这个方向的任何指示都会很棒...
MVC 应用的视图文件包含:
<div id="example" class="k-content">
<div id="grid"></div>
div 标签在 .js 文件中呈现到 KendoUi 网格。代码如下:
function createGrid()
{
$("#grid").kendoGrid({
dataSource: dataSource,
height: 430,
columns: [
{ field:"ProductName",title:"Product Name" },
{ field: "Category", title: "Category"},
{ field: "UnitPrice", title:"Unit Price" },
editable: true
});
}
function createDataSource()
{
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: BaseUrl + "/Products", //this is the action method in Controller which returns a list of Products which is hardcoded in this method itself.
dataType: "json"
},
autoSync: true,
schema: {
model: {
id: "ProductID",
fields: {
ProductID: { editable: false, nullable: true },
ProductName: { validation: { required: true } },
Category: { defaultValue: { CategoryID: 1, CategoryName: "Beverages"} },
UnitPrice: { type: "number", validation: { required: true, min: 1} }
}
}
}
});
}
单击选项卡/按钮时,会调用 createDataSource() 和 createGrid() 函数。我希望在单击任何其他选项卡时将在此可编辑网格中所做的更改保存到数据源。