Структура иерархии не показана в таблице SmartTree SAPUI5, созданной с помощью аннотаций метаданных
Я написал фрагмент XML для отображения дерева в
<core:FragmentDefinition xmlns="sap.m" xmlns:t="sap.ui.table" xmlns:l="sap.ui.layout" xmlns:f="sap.ui.layout.form" xmlns:core="sap.ui.core" xmlns:smartTable="sap.ui.comp.smarttable" xmlns:smartFilterBar="sap.ui.comp.smartfilterbar" xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1">
<smartTable:SmartTable id="smartTreeTable" entitySet="GetDynStrucSet" tableType="TreeTable" useExportToExcel="false" useVariantManagement="false" useTablePersonalisation="true" header="Hierarchy" showRowCount="false" enableAutoBinding="true" beforeRebindTable="onBeforeRebindTable" initiallyVisibleFields="UiRowId,UiHierLevel,UiParentRowId">
</smartTable:SmartTable>
</core:FragmentDefinition>
В Контроллере я передаю Фильтры для Сервиса-Выполнение-
onBeforeRebindTable: function (oEvent) {
//pass selection filters before execute call
var oBindingParams = oEvent.getParameter("bindingParams");
oBindingParams.filters = this.getOwnerComponent().getModel("parameterModel").getData();
oBindingParams.parameters.numberOfExpandedLevels = 2;
}
Служба возвращает 30 записей в следующем формате: SAP Gateway Output
Но SmartTable отображает данные следующим образом: SmartTable после привязки
Древовидная структура и рядные значения неверны.
В моем Сервисе я использовал некоторую помощь из этого блога: https://blogs.sap.com/2015/10/23/treetable-odata-binding/
Я установил следующие атрибуты для отмеченных свойств:
UIRowId => sap:ierarchy-node-for
UiParentRowId => sap:ierarchy-parent-node-for
UiHierLevel => sap: уровень иерархии для
Почему мое дерево выглядит так и как решить эту проблему? Есть идеи?