UI5 Tree Table 为什么有重复的节点?

UI5 Tree Table why repeated nodes?

我正在尝试将 OData 绑定到树 Table 之后 sap.ui.table.TreeTable

中的 OData 样本

我已经尝试过在 xml 中设置 treeAnnotationProperties 的基本绑定和注释绑定(我已经检查了 $metadata 查询并且它有 sap:hierarchy- 等).

然而,两次我都得到重复的节点,如:

Id    | Title     | Hierarchy Level | ParentID 
----------------------------------------------------
1     | izparent  | 0               | 0
|--1  | izparent  | 0               | 0
|  |-- ...
|--2  | izchild   | 1               | 1
2     | izchild   | 1               | 1

我在这里得到了一个 Id 为 1 的节点,它是可扩展的,而节点 2 是不可扩展的。但是,如果我展开节点 1,我会再次得到可展开的节点 1 和节点 2,并且我可以重复展开节点 1 以获得相同的结果。

我觉得我遇到了与此处类似的问题,但也没有为此提供答案:How to define tree table annotation (XML view)

我正在使用 OData 版本 2.0,对于我的 et_entity,我只提供了一个 SELECT * FROM 一个 table,它具有我认为根据样本需要的结构。

Table内容:

Id | Title    | HierarchyLevel | ParentID | Drillstate
1    izparent   0                0          expanded
2    izchild    1                1          leaf

这可能是什么问题?

我发现将 operationMode: 'Client' 添加到 rows 参数可以解决问题。

似乎扩展会触发另一个服务器调用(额外的 $batch 出现在调试网络选项卡下),因此必须在 GetEntitySet 方法中包含额外的逻辑来处理较低层级的扩展,因此它不再提供完整的层次结构(例如 if hierarchy level = ..., then select only hierarchy level < ...)。 由于我处理的数据量允许operationMode: client,我没有进一步的附加逻辑方法。