Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript App Maker删除表上的项目并更新_Javascript_Import_Google App Maker - Fatal编程技术网

Javascript App Maker删除表上的项目并更新

Javascript App Maker删除表上的项目并更新,javascript,import,google-app-maker,Javascript,Import,Google App Maker,我有一个应用程序,我希望能够从谷歌电子表格中获取列,并在我的应用程序中的表格上列出一个列表。此外,我希望能够删除此表中的项目 现在我正在使用AMU库函数AMU.deleteAll,它所做的只是 AMU.deleteAll = function(widget){ var records = widget.datasource.items; records.forEach(function(record){ record._delete(); }); }; 因此,当我有一个全

我有一个应用程序,我希望能够从谷歌电子表格中获取列,并在我的应用程序中的表格上列出一个列表。此外,我希望能够删除此表中的项目

现在我正在使用AMU库函数
AMU.deleteAll
,它所做的只是

AMU.deleteAll = function(widget){
  var records = widget.datasource.items;
  records.forEach(function(record){
   record._delete();
  });  
};
因此,当我有一个全新的空白表格时,当我使用
AMU.import.fromSpreadsheet
时,我的应用程序可以从我的电子表格中更新(在这里查看完整的库goo.gl/RkeqZw),它将从我的电子表格中获取所有项目,并将它们正确地放在我的表格中,之后,我可以使用delete函数删除表中的所有项目。这里是事情变得一团糟的地方,当我再次尝试使用导入函数时,列表中会填充空条目,如果我尝试使用删除函数,则会出现错误:

“驱动器表内部错误。找不到记录。原因:执行失败。详细信息:在路径:camo0A_084fQ处找不到对象。(HTTP状态代码:404)错误:驱动器表内部错误。找不到记录。在deleteAllData处(服务器脚本:232)”


我不知道为什么会发生这种情况,对我来说,似乎数据正在保存,删除函数只删除值,而不是实际条目

如果您想从模型中删除所有项目,可以进行单一服务器调用(您上面引用的代码不会对客户端上加载的每个项目进行服务器调用):

//从模型中删除所有记录的服务器脚本
函数deleteAllRecordsFromModel(){
var allRecords=app.models.MyModel.newQuery().run();
应用程序删除记录(所有记录);
}
//调用服务器函数的客户端脚本
google.script.run
.withSuccessHandler(函数(){
//TODO:处理成功(可选)
})
.withFailureHandler(函数(){
//TODO:处理错误(可选)
})
.deleteAllRecordsFromModel();