UI5-树表无法正确显示

2020-08-25 11:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在尝试用oData服...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试用oData服务填充树表。 但是它显示为普通表而不是树形表。

请帮助。

下面是用于设置树表行的.js代码

 var tableCarrier = this.getView()。byId(" treeTable");
 tableCarrier.setModel(nav);

 tableCarrier.bindRows({
 路径:"/结果",
 参数:{
 countMode:"内联",
 treeAnnotationProperties:{archiveLevelFor:" Hierarchylevel",
 architectureNodeFor:" Nodeid",
 architectureParentNodeFor:" Parentnodeid",
 architectureDrillStateFor:"钻探状态"
 }
 }
 });
 

下面是视图的XML代码

 
 <表:列>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
        
 
 
 

下面是oData响应

(10.6 kB)
5条回答
宇峰Kouji
2020-08-25 11:51

你好,

您可以尝试以下代码。

因为我具有相同的扁平结构以形成树表。

在您的成功方法中写为

成功:函数(oData){

var data = oData.QuestionTree.results;

var flat = {};

for(var i = 0; i

var key ='id'+ data [i] .Id;

flat [key] = data [i];

flat [key] .__ metadata ="";

}

//每个节点的子容器数组

对于(var i in flat){

flat [i] .children = []; //添加子容器

}

//填充子容器数组

对于(var i in flat){

var parentkey ='id'+ flat [i] .ParentId;

if(flat [parentkey]){

flat [parentkey] .children.push(flat [i]);

}

}

//找到根节点(未找到父节点)并从中创建层次树

var root = [];

对于(var i in flat){

var parentkey ='id'+ flat [i] .ParentId;

if(!flat [parentkey]){

root.push(flat [i]);

}

}

var oJsonModel = new sap.ui.model.json.JSONModel();

oJsonModel.setData(root);

treeTable.setModel(oJsonModel);

treeTable.bindRows({

路径:"/",

参数:{

arrayNames:['children'],

numberOfExpandedLevels:长度

}

});

}

谢谢