sap.ui.table.TreeTable-从平面json结构加载时不显示层次结构

2020-08-25 11:34发布

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

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


你好

我正尝试在sap.ui.table.TreeTable的帮助下实现树形结构,如样本。 但是,树表没有将层次结构显示为父/子节点,而是将每一行显示为父条目。

我们从表中以json格式获取了平面结构数据,并且没有将其转换为分层格式json,是否可以将它们显示为父/子节点? 有人实施过吗? 如果是,请您分享逻辑/代码信息吗?

谢谢。

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

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


你好

我正尝试在sap.ui.table.TreeTable的帮助下实现树形结构,如样本。 但是,树表没有将层次结构显示为父/子节点,而是将每一行显示为父条目。

我们从表中以json格式获取了平面结构数据,并且没有将其转换为分层格式json,是否可以将它们显示为父/子节点? 有人实施过吗? 如果是,请您分享逻辑/代码信息吗?

谢谢。

付费偷看设置
发送
8条回答
spaceman01
1楼-- · 2020-08-25 12:18

你好,

您可以尝试以下代码。

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

在您的成功方法中写为

成功:函数(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;

如果(!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:长度

}

});

}

谢谢

空代码
2楼-- · 2020-08-25 12:09

也许这可以帮助您

https://embed.plnkr.co/plunk/moTGOT

# p#

一周热门 更多>