sapui5 将参数传递给 smartFilterBar ControlConfiguration 的值帮助对话框
sapui5 pass parameter to value help dialog of smartFilterBar ControlConfiguration
我的页面上有基于 oData 服务的 SmartFilterBar。可过滤字段之一具有值帮助对话框。当值帮助对话框打开时,我需要在此值帮助对话框中填写一个搜索参数。我怎样才能做到这一点?我无法通过控件获得值帮助对话框,因为 "byId() method" 我现在没有创建对话框的 ID。
我找到了解决方案:如何获取打开的 valuehelpdialog 的 ID:
在事件 "onValueHelpRequest" 中,我重新设计了 class "sap.ui.comp.valuehelpdialog.ValueHelpDialog" 的 "onAfterRendering" 方法,在这个方法中,我可以获得对话框的 ID:
filterInitialize: function() {
var oDogovorControl = this.getView().byId("smartFilterBar").getControlByKey("Dogovor");
oDogovorControl.attachValueHelpRequest(this.onValueHelpRequest, this);
},
onValueHelpRequest: function() {
sap.ui.comp.valuehelpdialog.ValueHelpDialog.prototype.test = sap.ui.comp.valuehelpdialog.ValueHelpDialog.prototype.onAfterRendering;
var fntest2 = function(oEvent){
this.test();
console.log(this.getId());
};
sap.ui.comp.valuehelpdialog.ValueHelpDialog.prototype.onAfterRendering = fntest2;
}
我的页面上有基于 oData 服务的 SmartFilterBar。可过滤字段之一具有值帮助对话框。当值帮助对话框打开时,我需要在此值帮助对话框中填写一个搜索参数。我怎样才能做到这一点?我无法通过控件获得值帮助对话框,因为 "byId() method" 我现在没有创建对话框的 ID。
我找到了解决方案:如何获取打开的 valuehelpdialog 的 ID: 在事件 "onValueHelpRequest" 中,我重新设计了 class "sap.ui.comp.valuehelpdialog.ValueHelpDialog" 的 "onAfterRendering" 方法,在这个方法中,我可以获得对话框的 ID:
filterInitialize: function() {
var oDogovorControl = this.getView().byId("smartFilterBar").getControlByKey("Dogovor");
oDogovorControl.attachValueHelpRequest(this.onValueHelpRequest, this);
},
onValueHelpRequest: function() {
sap.ui.comp.valuehelpdialog.ValueHelpDialog.prototype.test = sap.ui.comp.valuehelpdialog.ValueHelpDialog.prototype.onAfterRendering;
var fntest2 = function(oEvent){
this.test();
console.log(this.getId());
};
sap.ui.comp.valuehelpdialog.ValueHelpDialog.prototype.onAfterRendering = fntest2;
}