在 SAP UI5 `List` 中 "count-indicator" [ item-N / total-M ] 在 "More" 按钮下方丢失
In SAP UI5 `List` the "count-indicator" [ item-N / total-M ] is missing below the "More" button
我开发软件已有 40 多年,但我对 SAP UI5 完全陌生,所以这可能是一个非常基本或微不足道的问题,但在互联网上搜索半天没有结果:
在主从视图(在 xml 中定义)中,我想显示带有 growing=true
、growingThreshold=50
和 growingScrollToLoad=false
的项目列表作为 List
.
原则上它现在一切正常。但是有一个小故障,不是必需的,更多的是“很高兴拥有”的类别:
到目前为止,我看到的所有示例都在“更多”按钮下方显示类似“[ 50 / 107 ]” 的内容。 但在我的程序中它丢失了。我很确定原因是 __count
未包含在从 Odata-Service 实现发送的响应中。
直接使用 SAP Gateway Service Builder (/SEGW) 进行的测试显示在响应中包含计数 $inlinecount=allpages
需要附加到服务 URI。在这里它工作正常 - 一旦我将它添加到 URI 中,计数就包括在内,当我将其保留或设置为 none
时,不包括计数。
因此问题似乎不在服务实现中。(至少 __count
字段按预期存在或不存在。我认为这是是什么启用了“[#/#]”指示器。)
当请求随后从控制器发送时(在 JavaScript 中实现)这部分 未 添加到服务 URI,尽管创建了 OData-Model defaultCountMode: "sap.ui.model.odata.CountMode.InlineRepeat"
。在 Chrome 的开发人员工具的“网络”页面上,我没有看到附加的 $inlinecount=allpages
,而且“[50 / 107]”(或任何合适的)没有显示为“更多”按钮。
我在创建 Odata-Model 后立即使用 Chrome 开发人员工具检查了我在 OData-Model 中的设置是否生效 – 确实如此。在基于此 OData 模型发出请求之前,我再次检查了一次 – 它仍然存在。
我现在唯一的想法是,它可能与请求源自 XML-view(即代表它创建的 JavaScript 代码)这一事实有关,它可能使用未设置该选项的不同 Odata 模型。
我该如何测试?
还有其他想法吗?
可能是国际化问题? (用于显示更多条目的触发文本在德语中设置为“Weiter”。也许“[#/#]”部分也需要在其他地方重新定义?
中的答案解决了问题:
[Use] defaultCountMode: "InlineRepeat"
instead of adding a fully qualified name in string.
我开发软件已有 40 多年,但我对 SAP UI5 完全陌生,所以这可能是一个非常基本或微不足道的问题,但在互联网上搜索半天没有结果:
在主从视图(在 xml 中定义)中,我想显示带有 growing=true
、growingThreshold=50
和 growingScrollToLoad=false
的项目列表作为 List
.
原则上它现在一切正常。但是有一个小故障,不是必需的,更多的是“很高兴拥有”的类别:
到目前为止,我看到的所有示例都在“更多”按钮下方显示类似“[ 50 / 107 ]” 的内容。 但在我的程序中它丢失了。我很确定原因是 __count
未包含在从 Odata-Service 实现发送的响应中。
直接使用 SAP Gateway Service Builder (/SEGW) 进行的测试显示在响应中包含计数 $inlinecount=allpages
需要附加到服务 URI。在这里它工作正常 - 一旦我将它添加到 URI 中,计数就包括在内,当我将其保留或设置为 none
时,不包括计数。
因此问题似乎不在服务实现中。(至少 __count
字段按预期存在或不存在。我认为这是是什么启用了“[#/#]”指示器。)
当请求随后从控制器发送时(在 JavaScript 中实现)这部分 未 添加到服务 URI,尽管创建了 OData-Model defaultCountMode: "sap.ui.model.odata.CountMode.InlineRepeat"
。在 Chrome 的开发人员工具的“网络”页面上,我没有看到附加的 $inlinecount=allpages
,而且“[50 / 107]”(或任何合适的)没有显示为“更多”按钮。
我在创建 Odata-Model 后立即使用 Chrome 开发人员工具检查了我在 OData-Model 中的设置是否生效 – 确实如此。在基于此 OData 模型发出请求之前,我再次检查了一次 – 它仍然存在。
我现在唯一的想法是,它可能与请求源自 XML-view(即代表它创建的 JavaScript 代码)这一事实有关,它可能使用未设置该选项的不同 Odata 模型。
我该如何测试?
还有其他想法吗?
可能是国际化问题? (用于显示更多条目的触发文本在德语中设置为“Weiter”。也许“[#/#]”部分也需要在其他地方重新定义?
[Use]
defaultCountMode: "InlineRepeat"
instead of adding a fully qualified name in string.