2016-11-14 96 views
3

我正在构建一个界面以配合Google表格。它的工作方式是将电子表格中的所有记录都拉到界面上的网格视图中。然后在这个界面上有一个按钮,提供编辑,删除等选项。Google表格API v4 dot净删除一行

我遇到了我的删除方法问题。它的工作方式是将所有记录都引入方法,然后使用for循环遍历结果,并将结果中的ID字段与传入方法的ID进行比较。当匹配时,这是要删除的那个。所有这些工作,一切都顺利,但由于某种原因,该记录不会从我的谷歌表中删除。下面是我的Google Sheets API v4的.NET包装的代码。如果任何人都可以帮助我,将不胜感激。我一直在盯着文档,将几部分其他语言拼凑在一起几个小时,而我的大脑并没有想出任何新的东西,哈哈。

if (ID.ToString() == WHVACRMembers[i][0].ToString()) // IF INCOMING ID MATCHES ID OF CURRENT ROW BEING LOOPED OVER 
{ 
    //DELETE THIS ROW 
    Request RequestBody = new Request() { 
     DeleteDimension = new DeleteDimensionRequest() { 
      Range = new DimensionRange() { 
       SheetId = 0, 
       Dimension = "ROWS", 
       StartIndex = Convert.ToInt32(i), 
       EndIndex = Convert.ToInt32(i) 
      } 
     } 
    }; 

    List<Request> RequestContainer = new List<Request>(); 
    RequestContainer.Add(RequestBody); 

    BatchUpdateSpreadsheetRequest DeleteRequest = new BatchUpdateSpreadsheetRequest(); 
    DeleteRequest.Requests = RequestContainer; 

    service.Spreadsheets.BatchUpdate(DeleteRequest, SpreadsheetID); 

} 

回答

3

我刚才发现了这个问题。相反的:

service.Spreadsheets.BatchUpdate(DeleteRequest, SpreadsheetID); 

我需要:

SpreadsheetsResource.BatchUpdateRequest Deletion = new SpreadsheetsResource.BatchUpdateRequest(service, DeleteRequest, SpreadsheetID); 
Deletion.Execute(); 

只要我想通了这一点,一切都通过顺利。仅仅是在我浏览文档和对象浏览器的时候,我并没有把注意力集中在正确的事情上。