我正在尝试将 OData 绑定(bind)到 sap.ui.table.TreeTable 中 OData 示例之后的树表
我已经尝试过设置 treeAnnotationProperties
的基本绑定(bind)。在 xml 和注释绑定(bind)中(我检查了 $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
根据样本,我认为我需要的结构的表。表格内容:
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
,我没有进一步的附加逻辑方法。
关于treeview - UI5树表为什么重复节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57587963/