如何销毁字段的Clicked事件或重新激活事件

2020-08-26 00:31发布

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

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


专家您好,

我遇到了将ComboBox事件LoadItems映射到表字段的问题。 单击时,将触发字段事件触发器,并调用相应的控制器方法。 但是,如果没有可用数据显示,则会显示忙碌指示器。

如果再次点击事件将不会再次触发,因为它已经被触发。 如何分离事件?

找到了detachloadItems来分离事件。 但是不确定如何使用它吗?

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

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


专家您好,

我遇到了将ComboBox事件LoadItems映射到表字段的问题。 单击时,将触发字段事件触发器,并调用相应的控制器方法。 但是,如果没有可用数据显示,则会显示忙碌指示器。

如果再次点击事件将不会再次触发,因为它已经被触发。 如何分离事件?

找到了detachloadItems来分离事件。 但是不确定如何使用它吗?

付费偷看设置
发送
5条回答
大圣 - sap领域执行人,9年sap运营经验
1楼 · 2020-08-26 00:58.采纳回答
 

我猜您使用loadItems事件从odata服务读取数据吗?

当没有结果可显示时,您有两个选择可以摆脱忙碌指示器。

1。 只需将一个空项目添加到您的组合框中:

 oComboBox.addItem(new sap.ui.core.ListItem({
     关键:"",
     文字:""
 }));
 

2。 检索组合框的选择器,并将项目忙设置为false:

 oComboBox.getPicker()。getContent()[0] .setBusy(false); 

______________________________________________________________________________________________

如果要再次触发loadItem事件,必须满足三个条件:

1。 项目汇总必须为空。

2。 组合框" bProcessingLoadItemsEvent"的私有属性必须设置为false。 请注意,如果升级ui5版本,私有属性可以随时更改而不会发出警告。

3。 该事件的侦听器必须附加。

原因是组合框源代码的以下部分(" this"是组合框)

如果(this.hasLoadItemsEventListeners()&&(this.getItems()。length === 0))
 if(!this.bProcessingLoadItemsEvent)
半个程序猿
2楼-- · 2020-08-26 01:06

谢谢...在下面以某种方式进行管理; 由于无论如何在实时会话期间,主数据更改几乎为零。

 oComboBox.addItem(newsap.ui.core.ListItem({key:"",text:""}))); 
Cikesha
3楼-- · 2020-08-26 01:14

你好,

您可以使用loaditem事件。

当最终用户单击组合框按钮以打开下拉列表并且尚未加载用于显示项目的数据时,将引发此事件。 或者,在用户将光标移动到组合框文本字段并执行需要加载数据的操作后,将触发该事件。 例如,按F4键打开下拉列表或在文本字段中键入内容都会触发该事件。

handleLoadItems:function(oControlEvent){oControlEvent.getSource()。getBinding(" items")。resume(); }

最好的问候

Kaan。

风早神人
4楼-- · 2020-08-26 01:02

Hello Kaan,

我用过相同的。 下拉列表是动态的,它基于另一个字段,例如Field1 Value。 如果"下拉列表"中没有数据可显示,则无法找到一种方法来摆脱以下3个点的指标。 如果找到了数据,那么它将显示所有正常工作的数据。

我也可以破坏聚合。 但是,如果找不到数据,则会出现上述问题。

半个程序猿
5楼-- · 2020-08-26 00:58

您好,克里山,

您可以向我发送ddl代码和模型示例吗?

最好的问候

Kaan。

一周热门 更多>