仅当列表包含项时才打开sap.m.Dialog

2020-08-27 12:27发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我使用SAP的Dialog示例之一来显示值列表并在弹出窗口中确认它们:

 onDialogPress:函数(){
 如果(!this.pressDialog){
 this.pressDialog = new Dialog({
 标题:"可用产品",
 内容:新列表({
 项目:{
 路径:"/img/ProductCollection",
 模板:新StandardListItem({
 标题:" {Name}",
 计数器:" {Quantity}"
 })
 }
 }),
 beginButton:新按钮({
 类型:ButtonType.Emphasized,
 文字:"确定",
 按下:功能(){
 this.pressDialog.close();
 } .bind(this)
 }),
 endButton:新按钮({
 文字:"关闭",
 按下:功能(){
 this.pressDialog.close();
 } .bind(this)
 })
 });


//访问全局模型
 this.getView()。addDependent(this.pressDialog);
 }


 this.pressDialog.open();
 },
 

但是,我只想在列表具有项目(ODATA路径/ProductCollection不为空)时打开对话框;

有办法吗? 创建对话框之前,我可以获取Odata/ProductCollection的计数(项目数)吗?

谢谢

Eyal

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我使用SAP的Dialog示例之一来显示值列表并在弹出窗口中确认它们:

 onDialogPress:函数(){
 如果(!this.pressDialog){
 this.pressDialog = new Dialog({
 标题:"可用产品",
 内容:新列表({
 项目:{
 路径:"/img/ProductCollection",
 模板:新StandardListItem({
 标题:" {Name}",
 计数器:" {Quantity}"
 })
 }
 }),
 beginButton:新按钮({
 类型:ButtonType.Emphasized,
 文字:"确定",
 按下:功能(){
 this.pressDialog.close();
 } .bind(this)
 }),
 endButton:新按钮({
 文字:"关闭",
 按下:功能(){
 this.pressDialog.close();
 } .bind(this)
 })
 });


//访问全局模型
 this.getView()。addDependent(this.pressDialog);
 }


 this.pressDialog.open();
 },
 

但是,我只想在列表具有项目(ODATA路径/ProductCollection不为空)时打开对话框;

有办法吗? 创建对话框之前,我可以获取Odata/ProductCollection的计数(项目数)吗?

谢谢

Eyal

付费偷看设置
发送
3条回答
My梦
1楼 · 2020-08-27 12:37.采纳回答

嗨,

谢谢大家

最后,我们使用Java脚本Promise控制了事物的顺序来解决了这个问题:

在Promise 函数中 resolve reject 带Odata的Model.Read路径来计数项目。

在Promise中,那么只有当项目数大于零时,我们才能通过if调用弹出窗口。

此致

Eyal

小熊yu生菜
2楼-- · 2020-08-27 12:42

您好 Eyal Alsheikh

您必须进行一些手动编码。

首先明确获取计数请求

https://stackoverflow.com/questions/38852888/how-to-count-row-data-in-sap-ui5

并在成功处理程序中检查计数是否大于0,然后调用弹出窗口

Br

Mahesh

奄奄一息的小鱼
3楼-- · 2020-08-27 12:55

你好Eyal

另一种方法是在对话框之前,您可以检查已设置的模型(如果其中包含任何项目),然后仅使用默认模型在下方显示类似内容。

 this.getView()。getModel()。getData()

谢谢

Nabheet

一周热门 更多>