Smartsheet C#API在第一行

时间:2016-08-08 15:08:04

标签: smartsheet-c#-sdk-v2

我正在编写C#代码以将数据导入Smartsheet。我想在第一行留下一个虚拟行,并在其下面添加所有后续行。我无法在文档中找到执行此操作的语法。 AddRows方法似乎无法确定这一点。这是我的代码:

Cell[] cellsA = new Cell[] 
{ 
new Cell.AddCellBuilder(sheet.Columns[1].Id, taskData[i][1]).Build()                        //summary
,new Cell.AddCellBuilder(sheet.Columns[2].Id, taskData[i][2]).SetStrict(false).Build()         //StartDate
,new Cell.AddCellBuilder(sheet.Columns[3].Id, taskData[i][3]).SetStrict(false).Build()           //DueDate
,new Cell.AddCellBuilder(sheet.Columns[5].Id, taskData[i][4]).Build()                        //Estimated Hrs.
,new Cell.AddCellBuilder(sheet.Columns[6].Id, taskData[i][5]).Build()                        //Completion
,new Cell.AddCellBuilder(sheet.Columns[7].Id, taskData[i][6]).Build()                        //OWner
,new Cell.AddCellBuilder(sheet.Columns[8].Id, taskData[i][7]).Build()                        //Priority
,new Cell.AddCellBuilder(sheet.Columns[9].Id, taskData[i][8]).Build()                        //Status
,new Cell.AddCellBuilder(sheet.Columns[10].Id, taskData[i][9]).Build()                        //Category
,new Cell.AddCellBuilder(sheet.Columns[11].Id, screenURL + taskData[i][0]).Build()           
};

// Specify contents of first row.
Row rowA = new Row.AddRowBuilder(true, null, null, null, null).SetCells(cellsA).Build();

// Add rows to sheet.
smartsheet.SheetResources.RowResources.AddRows(SheetID, new Row[] { rowA });

2 个答案:

答案 0 :(得分:1)

在第一行下面添加一行的关键在于创建新行的代码行 - 特别是确定?bool'toBottom'属性的第二个参数。例如:

 // Specify contents of first row.
 Row rowA = new Row.AddRowBuilder(null, true, null, null, null).SetCells(cellsA).Build();

答案 1 :(得分:0)

我建议先将虚拟行添加到工作表中。在响应中,您将获得可以存储以供以后使用的新行ID。然后,当您向工作表添加新行时,可以将新行的siblingId设置为该行ID,它们将直接进入该行。

另一种方法是首先添加虚拟行,然后在添加新行时使用toBottom设置位置,以便每次都将行放在工作表的底部。有关行位置的更多信息可以在这里的文档中找到: http://smartsheet-platform.github.io/api-docs/?csharp#row-location