2016-11-14 44 views
3

Googleスプレッドシートを使用するためのインターフェイスを構築しています。スプレッドシートのすべてのレコードが自分のインターフェイス上のグリッドビューに表示されます。このインターフェイスには、編集、削除などのオプションを提供するボタンがあります。GoogleスプレッドシートAPI v4ドットネットローの削除

削除方法に問題があります。それが動作する方法は、すべてのレコードがメソッドに引き込まれ、その後forループを使用して結果を調べ、結果からIDフィールドをメソッドに渡されるIDと比較することです。一致するものがあれば、それを削除します。このすべてがうまくいっていますが、何らかの理由でレコードがGoogleシートから削除されることはありません。以下は、GoogleシートAPI v4のdot 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(); 

をできるだけ早く私はそれを考え出したとして、すべてが滞りなくて行きました。ドキュメンテーションとオブジェクトエクスプローラを見ているうちに、正しいことに集中していないということだけでした。

関連する問題