【问题标题】:Delete range not working - Google Sheets API - Swift删除范围不起作用 - Google Sheets API - Swift
【发布时间】:2017-09-24 20:56:10
【问题描述】:

我正在开发一个视图控制器,用户应该在其中删除位于谷歌驱动器中的电子表格中的一行工作表。

一旦用户成功登录,就会显示一个表格视图,用户可以通过在相应的单元格上向左滑动来删除该行。下面的代码显示了删除过程。当我触发该过程时,显示以下错误:

“无效请求[0].deleteRange:没有id为0的网格”

    //Delete Function TableView - Access by swiping left.
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)
{
    //1 - Delete Row From Index
    let toDelete = GTLRSheets_DeleteRangeRequest.init()
    toDelete.range?.sheetId = 317088521
    toDelete.range?.startRowIndex = 6
    toDelete.range?.endRowIndex = 6
    toDelete.range?.startColumnIndex = 0
    toDelete.range?.endColumnIndex = 3
    toDelete.shiftDimension = "ROWS"

    let batchUpdate = GTLRSheets_BatchUpdateSpreadsheetRequest.init()
    let request = GTLRSheets_Request.init()
    request.deleteRange = toDelete
    batchUpdate.requests = [request]

    let deleteQuery = GTLRSheetsQuery_SpreadsheetsBatchUpdate.query(withObject: batchUpdate, spreadsheetId: spreadsheetID)
    service.executeQuery(deleteQuery, delegate: self, didFinish: #selector(deleteFromIndexWithTicket(ticket:finishedWithObject:error:)))
}

func deleteFromIndexWithTicket(ticket: GTLRServiceTicket, finishedWithObject result : GTLRSheets_BatchGetValuesResponse  , error : NSError?) {
    if let error = error {
        print(error.localizedDescription)
        return
    }

    print("Deleted from index")
}

【问题讨论】:

    标签: java swift google-sheets google-api google-sheets-api


    【解决方案1】:

    我的错...我没有初始化 GridRange。下面是工作代码。

            //1 - Delete Row From Index
        let toDelete = GTLRSheets_DeleteRangeRequest.init()
        let gridRange = GTLRSheets_GridRange.init()
        toDelete.range = gridRange
        gridRange.sheetId = indexID as NSNumber
        gridRange.startRowIndex = lengthTrainingDatabase - indexPath.row as NSNumber
        gridRange.endRowIndex = lengthTrainingDatabase - indexPath.row + 1 as NSNumber
        toDelete.shiftDimension = kGTLRSheets_DeleteRangeRequest_ShiftDimension_Rows
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多