UI5树表为什么重复节点?

时间:2019-08-21 08:57:27

标签: treeview odata sapui5 sap

我正在尝试根据sap.ui.table.TreeTable中的OData样本将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表格,该表格具有我认为根据示例所需的结构。

表格内容:

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

这里可能是什么问题?

1 个答案:

答案 0 :(得分:1)

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

扩展似乎触发了另一个Server调用(附加的$batch出现在“调试网络”标签下),因此GetEntitySet方法中必须包含额外的逻辑才能处理较低层次结构的扩展,因此它不再提供完整的层次结构(例如if hierarchy level = ..., then select only hierarchy level < ...)。  由于我正在处理的数据量允许operationMode: client,因此我没有进一步介绍其他逻辑方法。