点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,专家们!
我正面临一个使我倒挂的问题...
我在tCode SEGW下有一个SAP Annotations产品,在Fiori中,我想显示一些自定义的ValueHelpDialogs 使用表,以便用户可以从该表中搜索并选择记录。
我已经实现了自定义默认值HelpDialog的功能,但是每次打开时它都无法正确显示:
如我们所见,打开对话框,并选择tabBar选项"定义条件"。 在此视图中还显示了带有记录的表(这是错误的)。 用户移至"从列表中选择"选项并返回到"定义条件"后,该表将不再显示,这是正确的。
表过滤器运行正常,并且在输入字段中正确设置了记录选择(令牌),因此我在这里问的唯一一个" bug"。
¿如何在不将ABAP Proyect更改为"注释+词汇"的情况下解决此问题?
这是我自定义默认ValueHelpDialog的方式:(显示的基本代码)
_onValueHelpRequest:函数(事件){ 尝试{ //event.preventDefault(); //什么都不做 this._currentFilterControl = event.getSource(); var controlId = event.getParameter(" id"); //event.getSource()。getId(); var labelText = this._currentFilterControl.getLabels()[0] .getText(); var me = this; 如果(!sap.ui.comp.valuehelpdialog.ValueHelpDialog.prototype.defaultBeforeRendering) { sap.ui.comp.valuehelpdialog.ValueHelpDialog.prototype.defaultBeforeRendering = sap.ui.comp.valuehelpdialog.ValueHelpDialog.prototype.onBeforeRendering; } sap.ui.comp.valuehelpdialog.ValueHelpDialog.prototype.onBeforeRendering = function(oEvent){ //" this"具有valueHelpDialog对象 this.defaultBeforeRendering(); //调用默认的BeforeRendering方法 我._customizeDialog( 这个, me._getKeysByFilterControlId(controlId), sap.ui.Device.system.phone, 真正, 真正, 假, me._getModelByFilterControlId(controlId), me._getColumnsByFilterControlId(controlId) ); this.update(); }; } catch(err){ console.log([" _ onValueHelpRequest",err]); } }, _customizeDialog:函数( dialogObj, 键, 伸展, 支持多选 supportRanges, supportRangesOnly, 模型, 列 ){ dialogObj.setKey(keys.code ||""); dialogObj.setDescriptionKey(keys.description ||""); dialogObj.setStretch(stretch || sap.ui.Device.system.phone); dialogObj.setSupportMultiselect(supportMultiselect); dialogObj.setSupportRanges(supportRanges); dialogObj.setSupportRangesOnly(supportRangesOnly); dialogObj.addStyleClass(" sapUiSizeCompact"); _buildFilterBar(dialogObj,列); //运行正常。 Fbar的作品 _bindModel(dialogObj,列,模型); //运行正常。 该表已正确显示 返回dialogObj; }
详细信息功能(例如" _buildFilterBar"或" _bindModel")是从此处。
如果您需要一些额外的代码,只需提出要求,我将其发布:- )
谢谢!
(22.3 kB)
好,知道了!
我只需要在" onAfterOpen"事件中选择工具栏中的第一项。
这是代码:
谢谢!
一周热门 更多>