主详细信息:在过滤器选项卡上显示元素数

2020-09-08 10:14发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在学习使用han...

         点击此处--->   EasySAP.com群内免费提供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
 
6条回答
一只江湖小虾
2020-09-08 10:58

非常感谢Chantele。 这有点奏效。 现在,使用表的updateFinished事件,选项卡上显示了许多项目。 但是,如Sergio所述,显示的数字是表格中可见项目的数字。 这意味着如果我在同时显示的元素数量上设置阈值5,那么计数将一直显示5,直到我要求显示更多元素为止。

我认为我需要的是访问实际的实体集。 当我查看应用程序发出的请求时,没有类似的请求

https://webidetestingsalesorder-xxxxxxxxxxtrial.dispatcher.hanatrial.ondemand.com/sap/opu/odata/sap/SALESORDERXX/SOHeaders('0000000001')/SOItems?$ skip = 0&$ top = 5


(来自销售订单示例)


一周热门 更多>