我想知道
之间的区别$("#uploadedFile").val(e.files[0].name);
var model = $("#blueprint_listview").data("kendoListView").dataSource.get(0);
model.set("filename", $("#uploadedFile").val());
并且
$("#uploadedFile").val(e.files[0].name);
var model = $("#blueprint_listview").data("kendoListView").dataSource._data[0];
model.set("filename", $("#uploadedFile").val());
我正在上传一个可编辑的列表视图。
以上代码是在kendo上传的成功事件上编写的。
第二个代码适用于插入和更新。
但是,第一个代码适用于插入,但是对于更新,它显示错误,上面写着 - “模型未定义”
我想知道可能是什么原因?
答案 0 :(得分:1)
如documentation中所述,get
检索具有相应ID的记录。这样,当插入新记录时,似乎它的默认ID为0,这就是get(0) === _data[0]
的原因,但是当您更新列表视图时,会给您一个“真实”ID(> = 1)新行并且不再有id = 0的项目,因此model
为空。
另一方面,内部方法_data
是一个数组,列表视图的所有行按其在列表视图中的位置顺序排列。但是,如果要访问此属性,则等效的“公共”方法为at
:
$("#blueprint_listview").data("kendoListView").dataSource._data[0] ===
$("#blueprint_listview").data("kendoListView").dataSource.at(0); // allways true