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

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 11:01

首先,感谢您列出您尝试过的内容:

this.byId(" __ table0")。getItems()。length ////这只会给您可见的项目数

我的建议是自己提供表ID(因此它是常量),而不是使用动态生成的ID(好像您使用了" __table0",因为将来版本中可能会发生变化,因此可能无法保证使用相同的模式...

您可以做的一件事就是从odata服务中读取项目数-我假设您正在使用odata 服务-可以使用odata url语法完成以下操作:URL/pathToEndPoint?$ count并将其放置到标签或值持有者的商品数量中。

因为当您向后导航并 屏幕上的数字可能不相同,对吗?

一周热门 更多>