点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在学习使用hana云平台创建fiori应用程序。 我已经创建了一个fiori主细节应用程序,并指定了我的OData模型以及模拟数据(我没有后端服务)。
该应用程序非常简单,母版包含一组元素,其详细信息显示在两个选项卡的"详细信息"视图中。 一个选项卡包含常规信息,第二个选项卡包含一个表。 第二个选项卡的count属性必须包含表的行数。
到目前为止,我一直在尝试获取行数(Detail.controller.js):
this.byId(" __ table0")。getItems()。length
并将其放入标签过滤器的count属性:
this.byId(" iconTabFilter2")。setCount(this.byId(" __ table0")。getItems()。length);
这段代码可以解决问题……但我不知道将其放在哪里。 我把它放在控制器中每个函数的末尾,但是当我测试时,结果是错误的。
示例:我在母版中有两个元素,第一个元素的表包含4行,第二个元素包含0行。两个选项卡的计数均显示为0。 当我使用控制台日志时,这就是我得到的(我将日志放在控制器中每个函数的末尾。左侧的数字是表中元素的数量):
应用首次启动时,将选择第一个主元素。
0 getEventBus 0 getRouter 0 onInit 0 onRouteMatched 0 onRouteMatched 0 getEventBus 0 fireDetailChanged 0 fireDetailChanged 0 getEventBus 0 onMasterLoaded
当我选择母版中的第二个元素时:
4 onRouteMatched 4个getEventBus 4 fireDetailChanged 4 fireDetailChanged 0 getEventBus 0 onRouteMatched
当我返回到选择母版中的第一个元素时:
0 onRouteMatched 0 getEventBus 0 fireDetailChanged 0 fireDetailChanged 0 getEventBus 0 onRouteMatched
我认为我找到了执行此操作的正确方法:
嗨,
您建议的解决方案对我有用。
this.byId(" iconTabFilter2")。setCount(this.byId(" __ table0")。getItems()。length);
我已经在controller.js文件中尝试过此操作,在该文件中我获取了事件中的所有请求详细信息,并设置了计数并完成了操作。
非常感谢。
嗨
仅需确认一下,当应用程序加载时,您希望该值作为总值显示在选项卡栏上吗?
如果是这样,那么在应用程序加载时是否需要显示此值?
然后我建议将代码放入控制器的init()函数中或 链接到标签栏的一小段代码。
您能否为您的详细信息控制器提供更多代码?
致谢
Chantele
非常感谢Chantele。 这有点奏效。 现在,使用表的updateFinished事件,选项卡上显示了许多项目。 但是,如Sergio所述,显示的数字是表格中可见项目的数字。 这意味着如果我在同时显示的元素数量上设置阈值5,那么计数将一直显示5,直到我要求显示更多元素为止。
我认为我需要的是访问实际的实体集。 当我查看应用程序发出的请求时,没有类似的请求
https://webidetestingsalesorder-xxxxxxxxxxtrial.dispatcher.hanatrial.ondemand.com/sap/opu/odata/sap/SALESORDERXX/SOHeaders('0000000001')/SOItems?$ skip = 0&$ top = 5
(来自销售订单示例)
首先,感谢您列出您尝试过的内容:
this.byId(" __ table0")。getItems()。length ////这只会给您可见的项目数
我的建议是自己提供表ID(因此它是常量),而不是使用动态生成的ID(好像您使用了" __table0",因为将来版本中可能会发生变化,因此可能无法保证使用相同的模式...
您可以做的一件事就是从odata服务中读取项目数-我假设您正在使用odata 服务-可以使用odata url语法完成以下操作:URL/pathToEndPoint?$ count并将其放置到标签或值持有者的商品数量中。
因为当您向后导航并 屏幕上的数字可能不相同,对吗?
感谢您回答塞尔吉奥。
我使用的是模拟数据,我不知道该如何添加网址或获取计数。 如果我可以访问用于填充表格的实体集中的元素数量,那将是很好的选择。
一周热门 更多>