在2表视图的第1部分,我演示了表视图的数据查询功能,并指出在第二部分中,我将演示如何更新所查询的数据,这是本博客的主题。如果你没有读过第1部分因为本博客是上一篇博客的扩展,所以在继续之前请这样做。
为了开始这个过程,我将登录到OneStream参考应用程序,GolfStream。登录到应用程序后,选择“所以”- >“应用程序”。
扩大“工具"然后选择"业务规则”。
扩大“电子表格,然后选择UTM_TaskList”。
使用UTM_TaskList业务规则BR"选定,导航到"第92行,更新TV_TaskListExport。CanModifyData from "假“到”真正的,从而可以修改数据。另外,更新第91行上的注释以记录更改。
导航到"第34行,并取消注释该行作为私有函数将被添加到SaveTableView SpreadsheetFunctionType。
启用了数据修改和未注释"Case Is = SpreadsheetFunctionType。SaveTableView,下一步将添加第35行。args.TableView SaveMyTableView (si)”。SaveMyTableView是一个私有函数,它将包含更新表XFW_UTM_TaskList的代码,用于更改记录。
导航到Private Function的End Function行,gettmtasklistexport,然后创建Private Function "SaveMyTableView”。
添加了该函数后,将开发用于更新适当数据记录的代码。由于下一个图像中的代码是文档化的,我将总结代码开发,即创建SQL语句。第144行然后第173行"将被填充和执行的,SQL语句中使用的TaskID变量"第147行,连接到应用程序数据库第153行“,行循环”第155行"和列"第159行"在结果集中,最后执行SQL语句"第183行”。如果您还没有这样做,保存并编译BR以检查语法。此时,BR已经准备好进行测试,可以关闭或保持打开状态。
要开始测试SaveTableView功能,请展开“工具"然后选择"电子表格“可从应用程序和开放”TaskImportTemplate_UTMT.xlsx在之前的博客文章中保存。打开文件后,选择“刷新表”。
更新TaskName列中的一行或多行,因为TaskName列是Update SQL语句中指定的列。已更新的行用阴影标识已更改的行。注意,可以更新其他的列,这需要更改Business Rule中的UPDATE SQL语句,选择其中一列作为本博客的简明示例。
数据更新后,选择“提交表来自OneStream XF Ribbon。
一两秒钟后,更改记录已保存到表中,先前返回的TableView已被更新。注意,已更改的记录已被阴影标识。
我在代码摘要中没有指出的一行是“SQL_TaskList_U.ToString BRApi.ErrorLog.LogMessage (si),它将查询执行记录到应用程序错误日志,其中包括一个图像以供参考。注意,这是代码中的可选行,如果愿意,可以将其注释掉。
这时你可能会想,Excel文件不止四行;但是,在错误日志中捕获的更新仅针对四行。提交工作表如何只知道更新已更改数据的四行?我没有在代码摘要中包含的另一行是“如果TV_ColumnU.IsDirty ()”,根据表视图用户指南,“IsDirty -条件检查项目是否已被修改”,例如,通过包含IsDirty(), SQL语句将只执行已更改的记录。
一如既往,感谢您阅读这篇博文。如果你有任何问题,请随意发表评论或给我发电子邮件terry.ledet@perficient.com.