2017-08-14 68 views
0

我得到一个数据库表,其中包含一个指向其父节点的属性,它也具有导航属性“_toSubTasks”和“_toParent”。对于这张表,它有一个OData服务。SAPUI5:显示包含层次结构的表的树表

例如:任务{TASK_ID,parent_task_id,...}

对于每一个任务,我们可以得到它的直接的子任务,但每个子任务也可以有自己的子任务。如何获得所有层级的子任务(直接子任务和子任务的子任务)并显示UI5树表?

+0

您需要根据您的初始列表构建一个新的分层模型。 https://stackoverflow.com/questions/18017869/build-tree-array-from-flat-array-in-javascript –

+0

感谢您的回答。是的,我可以构建包含层次结构的Json模型,然后为树表设置模型。它绝对有效。但我相信最简单的方法是使用导航属性“_toSubTasks”来构建层次结构。但我不知道如何... – Lucifa

回答

0

treetable将评估您的主要实体的所有属性。 如果它发现一个属性是一个对象或一个数组,它会认为它是一个子节点。

由于您的导航属性作为延迟对象存在于您的odata模型实体中,通常树应该将您的导航属性标识为子节点。 (因为它是一个对象)

所以我期望简单地将您的主要实体集绑定到树项目应该是足够的。

作为附加测试,您可以尝试调用您的模型的读取方法,在这样的导航属性上。应执行延期并加载相关项目。

虽然有一个重要的评论:我上面的推理基于sap.m.tree元素。