gpt4 book ai didi

mvvm - KendoUI Grid - MVVM Bindings - object Object] 没有方法 'isNew'

转载 作者:行者123 更新时间:2023-12-03 10:37:51 24 4
gpt4 key购买 nike

我有一个与 MVVM 绑定(bind)一起使用的 KendoUI 网格。我还有一个用户界面,用户可以在其中输入数据并选择添加按钮。按下添加按钮后,新数据将添加到模型中。网格设置为自动同步。

我遇到的问题是,一旦添加了新项目,我就会收到错误“[object Object] has no method isNew”

我的网格如下:

      $("#objJoinGrid").kendoGrid({
dataSource: {
transport: {
create: function (operation) {
operation.success();
},
update: function (operation) {
operation.success();
},
destroy: function (operation) {
operation.success();
},
read: function (operation) {
operation.success(datasetMetaModel.joinList.ObjectList);
}
},
schema: {
model: {
id: "JOIN_OBJECT_ID",
fields: {
JOIN_OBJECT_ID: { type: "number" },
JOIN_OBJECT_NAME: { type: "string" }
}
}
},
autoSync: true
},
height: 220,
columns: [
{ field: "JOIN_OBJECT_ID", width: "130px" },
{ field: "JOIN_OBJECT_NAME", width: "130px" }
]
});

然后我将我的模型绑定(bind)到网格:
   datasetMetaModel = kendo.observable({
joinList: datasetModel.JoinStructure,
});

kendo.bind($("#areaDiv"), datasetMetaModel);

在添加按钮的点击事件中:
$("#addDataset").bind("click", function () {
var dropdownlistPO = $("#objectListing").data("kendoDropDownList");

datasetMetaModel.joinList.ObjectList.push({
JOIN_OBJECT_ID: dropdownlistPO.value(),
JOIN_OBJECT_NAME: dropdownlistPO.text()
});
});

在这个实例中 datasetModel.JoinStructure 是一个来自服务器的空数组。奇怪的是,如果我实际上向服务器添加了一个条目,那么一切正常,我可以毫无问题地添加新项目。有任何想法吗?我猜这与我添加新项目的方式有关。

最佳答案

尝试更改您的创建以实际返回新创建的记录。例如

create: function(e) {
var item = e.data;
item.Id = data.length + 1;
e.success(item);
}

这是应该与您的非常相似的实时示例。

http://jsbin.com/iDeloNo/1/edit

关于mvvm - KendoUI Grid - MVVM Bindings - object Object] 没有方法 'isNew',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18999159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com