- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 Smartsheet c# SDK 中,row.ParentRowId 很有用,但我没有看到确定给定行在层次结构中的级别的方法?例如,如果我有类似...
在 Microsoft 项目中,有一个“大纲级别”字段,项目名称为“1”,第 1 节和第 2 节为“2”,示例中的每个任务为“3”。
我不知道如何使用 Smartsheet 的 SDK 确定(或更改)行的“大纲级别”。
谢谢,
最佳答案
使用 Smartsheet API,一行是另一行的子行这一事实由 Row 对象上的 parentId 属性指示。如果存在,则 Row 对象上的该属性指定父行的 Id 的值。
具体对于 C# SDK,此属性公开为 Row 对象的 ParentId 属性(注意“ParentId”的大写) .使用 C# SDK:
以下代码片段使用 C# SDK 通过检查工作表中每一行的 ParentId 值来识别行层次结构。
// 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);
// Identify Row hierarchy by examining the ParentId property of each row.
foreach (Row row in sheet.Rows)
{
if (row.ParentId != null)
{
Response.Write("Row #" + row.RowNumber.ToString() + " (Id=" + row.Id.ToString() + ") is a child of Row Id " + row.ParentId.ToString() + "<br/><br/>");
}
else
{
Response.Write("Row #" + row.RowNumber.ToString() + " (Id=" + row.Id.ToString() + ") is a top-level row.<br/><br/>");
}
}
Smartsheet API 当前不公开类似于“大纲级别”的属性——但您应该能够通过使用如上所述的 ParentId 属性导出每一行的“大纲级别” .
您可以使用 Smartsheet API 更改行的“大纲级别”(即缩进),方法是使用 API 文档中描述的位置说明符行属性:http://smartsheet-platform.github.io/api-docs/#row-include-flags .
使用 C# SDK,您可以在调用 Row.AddRowBuilder(…)
函数时指定位置说明符 Row 属性的某种组合来描述行在工作表中的放置位置,相对于其他已经存在的行。我在上面链接到的文档描述了通过为一行设置位置说明符属性的各种组合而获得的放置结果。
例如,以下脚本在指定的父行下添加一个新行作为第一个子行:
// 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);
// Identify Row hierarchy by examining the ParentId property of each row.
foreach (Row row in sheet.Rows)
{
if (row.ParentId != null)
{
Response.Write("Row #" + row.RowNumber.ToString() + " (Id=" + row.Id.ToString() + ") is a child of Row Id " + row.ParentId.ToString() + "<br/><br/>");
}
else
{
Response.Write("Row #" + row.RowNumber.ToString() + " (Id=" + row.Id.ToString() + ") is a top-level row.<br/><br/>");
}
}
/************************************************
* Add new row.
/************************************************/
// Specify cell values for the row.
Cell[] cells = new Cell[] { new Cell.AddCellBuilder(2069395137685380, "New Task").Build(), new Cell.AddCellBuilder(4743407416436612, "Added via API").SetStrict(false).Build() };
// Specify the Id of the parent row.
long parentId = 1085142354683780;
// Specify contents and placement of new row.
// Use the 5 parameters of the "AddRowBuilder" function to specify row's placement: toTop, toBottom, parentId, siblingId, above
// Specifying parentId only will add the new row as the first child row under the specified parent row.
Row newRow = new Row.AddRowBuilder(null, null, parentId, null, null).SetCells(cells).Build();
// Add row to sheet.
smartsheet.SheetResources.RowResources.AddRows(sheetId, new Row[] { newRow });
关于c# - Smartsheet c# SDK 父子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32365846/
我已经能够使用 Postman 和 Smartsheet Python SDK 创建更新请求,但是我在 API 文档中找不到列出待处理更新请求或删除待处理更新请求的方法.有谁知道如何做到这一点? 最佳
我似乎无法添加行。我收到以下错误,但我相信数据格式正确。提前致谢! {"errorCode":1008,"message":"无法解析请求。发生以下错误:请求正文必须是 JSON 对象或 JSON 数
更新 2022-12-01 这个问题现在已经过时了。 Smartsheet API 现在支持请求的功能。接受的答案包含有关更新的更多详细信息。 语境 开发人员希望使用 smartsheet API 填
我正在尝试使用Powershell和API更新单元格,但出现错误:1004您无权执行此操作。我已经删除了ID。 。 。 我有30天的试用期。在使用API进行更新之前,我需要购买某种程度的支持吗?该
我有一张包含 18 列和 137 行的工作表。一些列是空的。当我制作 get sheets调用(我正在使用 C# SDK )返回的数据具有以下结构,这对我来说似乎异常...... 列 --- 19(R
我已经能够使用适用于 Smartsheet 的 Python SDK 读取工作表、行、列和单元格,但我无法真正更改/写入/更新单元格值。我已经大大简化了我的代码,剩下的就是: import smart
每当我检索 SmartSheet 行并循环遍历其中的单元格时,CHECKBOX 类型的所有单元格始终具有 displayValue 或 Null 值,无论工作表上复选框的状态如何。还有其他人经历过吗?
我正在尝试编写一些基本代码来检索工作区列表并将响应写入文件。我认为这可以转储到 JSON 文件中? 感谢您的帮助/建议。 我已经获取了示例 .py 文件并将其重新设计为如下所示 - # Install
全部 - 我在加载 Smartsheet 客户端时收到此错误我根据要求加载了所有依赖项。我应该解决什么问题? 导入错误!无法加载api或模型类_ipython_canary_method_should
我一直致力于基于 smartsheet 的简单生产管理流程。我一直在运行的代码在我的 Ubuntu 机器上运行良好,然后我将其复制到运行相同 Node 版本的 Parrot Linux 机器上,但它找
尝试使用 Java API 以编程方式获取智能表中行的注释。当我使用 row.getDiscussions() 时,即使该行上存在注释,它也始终返回 null。 try { Smartshee
>Cell newCell = new Cell(); >newCell.setValue("no way"); >newCell.setColumnId(4303755236665220l); >
我有一个 html 链接,可以打开 Smartsheet表格在新窗口中显示,以便我们的在线客户可以填写表格。 我想将现有表单中的 TextField 值(产品名称或产品代码)传递到智能表表单。这将对我
当我使用 smartsheet java api 创建新工作表时,它始终创建在 home 下的“sheets”文件夹中。是否可以移动此工作表或在不同的工作区/文件夹中创建它? 最佳答案 下面我列出了一
我正在尝试使用以下代码更改任何出版物的智能表编辑的 URL Sheet sheet = null; try { sheet = smartsheet.sheets().
我想通过 Smartsheet api 查找工作表,而我所拥有的只是工作表的名称。我目前正在这样解决 sheet_name = 'The sheet I have the name of' sheet
我有一个如下所示的数字列表存储在变量中。 [700000000084, 100000000051652, 8800000000000072, 280000000000004, 680000000000
在 Smartsheet c# SDK 中,row.ParentRowId 很有用,但我没有看到确定给定行在层次结构中的级别的方法?例如,如果我有类似... 项目名称 第 1 节 任务 1 任务 2
我不明白如何导入 Smartsheet 并将其转换为 Pandas 数据框。我想操作 smartsheets 中的数据,目前我转到 smartsheets 导出到 csv 并在 python 中导入
我在公司内部使用的应用程序中使用 SmartSheet API (Java SDK),并且发现应用程序的初始启动时间越来越长。我得出的结论是,至少部分延迟是从 SmartSheet 获取整个工作表,然
我是一名优秀的程序员,十分优秀!