Kendo ui 剑道数据源模型-数据[0]和get(0)之间的差异

Kendo ui 剑道数据源模型-数据[0]和get(0)之间的差异,kendo-ui,Kendo Ui,我想知道两者之间的区别 $("#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.get(0);        
model.set("filename", $("#uploadedFile").val());

我有一个可编辑的上传列表视图

上面的代码是写在剑道上传的成功事件上的

第二个代码可以很好地用于插入和更新

然而,第一个代码对于insert很好,但是对于update,它显示了一个错误,上面写着“模型未定义”

我想知道是什么原因

如中所述,
get
检索具有相应id的记录。这样,当插入一条新记录时,它似乎具有默认id 0,这就是为什么
get(0)==\u data[0]
但是当您更新列表视图时,会为新行提供一个“真实”id(>=1),并且不再有id=0的项,因此,
model
随后为空

另一方面,内部方法
\u data
是一个数组,列表视图中的所有行都按它们在列表视图中的位置顺序排列。但如果要访问此属性,等效的“public”方法是:

$("#uploadedFile").val(e.files[0].name);
var model = $("#blueprint_listview").data("kendoListView").dataSource._data[0];        
model.set("filename", $("#uploadedFile").val());
$("#blueprint_listview").data("kendoListView").dataSource._data[0] === 
   $("#blueprint_listview").data("kendoListView").dataSource.at(0); // allways true