如何在智能表中获取单元格的列类型

时间:2015-09-15 18:46:55

标签: c# smartsheet-api smartsheet-c#-sdk-v2

当我调用GetSheet()时,我正在尝试从单元格中获取列类型信息,使用带有C#的Smartsheet API,并且大部分时间它都是null。我在文档中读到了我可以做到的但我不理解。

  

返回行的端点(例如get sheet,get row)支持   可选包含查询字符串参数。   enter image description here

我没有看到在智能感知中添加列类型的选项。我错过了什么吗? http://smartsheet-platform.github.io/api-docs/#row-include-flags

我正在使用最新的Smartsheet SDK 2.0.1.0。

1 个答案:

答案 0 :(得分:1)

GetSheet()操作默认返回列类型信息,因此您在拨打电话时无需指定任何包含标志。 (这就是为什么你在智力分析中没有看到它的选项。)

以下代码段显示了如何使用C#SDK检索工作表并遍历工作表中的列,打印每列的标题类型

// Set the Access Token
Token token = new Token();
token.AccessToken = YOUR_ACCESS_TOKEN;

// Use the Smartsheet Builder to create a Smartsheet
SmartsheetClient smartsheet = new SmartsheetBuilder().SetAccessToken(token.AccessToken).Build();

// Get Sheet
long sheetId = YOUR_SHEET_ID;
Sheet sheet = smartsheet.SheetResources.GetSheet(sheetId, null, null, null, null, null, null, null);

// Examine columns and write Title and Type for each column.
foreach (Column column in sheet.Columns)
{
    Response.Write(column.Title + ": " + column.Type.ToString() + "<br/><br/>");
}

请注意,C#SDK目前存在一个已知问题(错误) - Column.Type 未在GetSheet()响应中填充,用于存在的3种特殊列类型仅在启用依赖项的项目表中:DURATION,PREDECESSOR,ABSTRACT_DATETIME(即开始日期和结束日期)。目前尚无ETA解决此问题。但是,您可以通过从GitHub下载C#SDK源代码并更新ColumnType Enumeration以添加3个缺少的枚举值来自行修复:

  • DURATION
  • 前身
  • ABSTRACT_DATETIME