点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
当前,我正在尝试将简单的JSON绑定到TreeTable和Tree中,以便进行一些测试。 但是我看不到我在犯错。
我将向您展示我使用的所有代码,所以也许有人可以帮助我找到问题。
首先,这是我要绑定到表的JSON结构:
[ { " NodeID":1 " HierarchyLevel":0, "描述":" 1", " ParentNodeID":null, " DrillState":"展开" }, { " NodeID":2 " HierarchyLevel":0, "描述":" 2", " ParentNodeID":null, " DrillState":"展开" } ]
以下是我对此问题的重要看法:
<内容> <内容> <表:列>
如您所见,我有一个FlexBox,其中包含4个用于测试不同绑定方式的表。
- 前两个是相同的Sap.m.树,只是ID不同
- 第三个是另一棵Sap.m.Tree,但结构不同。 我已使用此SAPUI5官方示例中的代码:示例
- 最后一个是带有一列的Sap.ui.table.TreeTable
现在,让我们进入我的控制器,在这里我尝试执行所有绑定:
onInit:function(){ var oModel = new sap.ui.model.json.JSONModel(" model/data.json"); this.getView()。setModel(oModel); var oTable = this.getView()。byId('TreeTableBasic'); oTable.bindRows("/"); var oTree = this.getView()。byId('Tree'); oTree.bindItems({ 路径:"/", tempalte:this.byId('treeTemplate') }); var oTree2 = this.getView()。byId(" Tree2"); var oItemTemplate = new sap.ui.core.ListItem({text:" {NodeID}"}); oTree2.bindItems({ 路径:"/", tempalte:oItemTemplate, }); },
如您所见,首先创建JSON模型并将其设置为视图。
一旦创建并设置了模型:
- 我从sap.ui.table.TreeTable调用方法bindRows以完成绑定。 效果很好,我的表按预期显示了数据(仅一列,没有层次结构)
- 我从sap.m.Tree调用方法bindItems,以复制我对TreeTable所做的工作。 我使用相同的路径,并且仅通过获取在XML上创建的模板来使用模板。
我认为这应该可行,但会引发下一个错误:
未捕获的错误:缺少元素sap.m.Tree的聚合项的模板或工厂功能
由于我没有丢失模板,所以我不明白为什么会引发此错误
- 由于该错误,我决定创建完全相同的Tree(Tree3),并在控制器上创建自己的模板,如您在代码中所见(。
但此Tree抛出相同的错误。 在这一点上,对我来说没有任何意义。
- 由于此时无济于事,所以我决定从SAPUI5官方网站复制完全相同的示例。
在该示例上,您可以看到它们创建了一个非常简单的Tree,将模型绑定到视图,而没有进行任何操作 其他。
SAPUI官方代码: 视图:控制器: onInit:函数(evt){ var oModel = new JSONModel(sap.ui.require.toUrl(" sap/m/sample/Tree")+"/Tree.json"); this.getView()。setModel(oModel); }
如您所见,示例代码和我的代码是相同的,唯一的区别是我的代码无法正常工作。
我认为问题可能出在JSON,因为示例代码与我的代码不同,但是 我尝试用示例一替换我的,但NO DATA文本仍会出现在我的树上。
我也认为问题出在项目路径上,但没有意义,因为它正在ui.table.TreeTable上工作
所以现在,我已经没有想法了,我来这里看看是否有人可以指出我所犯的错误,这必须是一个错误,因为官方站点中的示例应该可以工作。
提前通知您。
发现了问题。
我必须写:
代替:
一周热门 更多>