2016-11-14 125 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(); 

只要我想通了這一點,一切都通過順利。僅僅是在我瀏覽文檔和對象瀏覽器的時候,我並沒有把注意力集中在正確的事情上。