我们如何使用相同的功能获得多个对话框?

2020-09-26 03:06发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我有一个表,用于提取oD...

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

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


嗨,

我有一个表,用于提取oData和各种输入字段以应用过滤器。

在输入字段处于活动状态时,单击F4时,将出现一个弹出窗口,其中包含来自oData服务的过滤器值列表。 现在,我想使用相同的函数来调用不同的对话框,每个对话框都使用开关 statement.Is

谢谢

4条回答
小c菟菟
2020-09-26 03:45

您好Irfan,

我说2个输入字段,每个字段都有多个选择。激活时按F4时,会出现一个弹出窗口,带有相应的过滤器值,可以选择多个值,然后单击"确定"即可 现在,为了减少冗余代码,我希望使用相同的函数,并使用输入字段的ID来为相应的输入字段调用对话框。我尝试了以下代码。但是,它给出了错误:"未捕获的TypeError:无法读取 未定义的属性"打开"

_getDialog:函数(inputId)

{

如果(!this._valueHelpDialog)

{

开关(inputId)

{

案例" MaterialID":

this._valueHelpDialog = sap.ui.xmlfragment(" mpo.fragment.Dialog",this);

休息;

案例" MRPController":

this._valueHelpDialog = sap.ui.xmlfragment(" mpo.fragment.DialogMRPCtlr",this);

休息;

}

this.getView()。addDependent(this._valueHelpDialog);

}

返回this._valueHelpDialog;

},

handleValueHelp:函数(oEvent)

{

var inputId = oEvent.getSource()。getId();

this._getDialog(inputId).open();

},

_handleValueHelpSearch:函数(evt){

var sValue = evt.getParameter(" value");

var oFilter1 = new sap.ui.model.Filter(" MaterialID"," EQ",sValue); evt.getSource()。getBinding(" items")。filter([oFilter1]);

},

_handleValueHelpClose:函数(evt){

var oSelectedItem = evt.getParameter(" selectedItem");

if(oSelectedItem){var FilteredItems = oSelectedItem.getTitle();

var bindItems = this.byId(" table")。getBindingInfo(" items"),

template = bindItems.template,

path = bindItems.path;

var filterMaterialID = new sap.ui.model.Filter(" MaterialID"," EQ",FilteredItems);

}

this.getView()。byId(" table")。bindItems(path,template,null,[filterMaterialID]);

},

onCloseDialog:function(){

this._getDialog()。close();

}

一周热门 更多>