点击此处---> 群内免费提供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)
我知道为时已晚...但仍然如此。 根据我的理解,请使用OData版本2,即sap/ui/model/odata/v2/ODataModel
谢谢
最好的问候
Hemendra
我也面临着同样的问题。 有人有任何合适的解决方案
嗨,
如果您正在使用OData服务,请尝试将ODATA服务设置为默认服务,然后将实体集直接映射到path而不是"结果"
,如果您使用的是Odata V2版本,请添加此属性OperationMode =" client"
此致
Vasantham
你好,
您可以尝试以下代码。
因为我具有相同的扁平结构以形成树表。
在您的成功方法中写为
成功:函数(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:长度
}
});
}
谢谢
谢谢 Vasantham S
一周热门 更多>