更改SmartFilterBar默认过滤器运算符

2020-08-19 01:30发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 这是来自客户的问题。...

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

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


大家好,

这是来自客户的问题。

在SmartFilterBar的过滤器中键入内容时,该值会自动用等于过滤器的运算符标记。 现在,客户正在询问是否有可能将filter运算符更改为默认包含。

因此,总而言之,客户太懒了,无法自己输入* xxxx *。 他默认需要这种行为。

我在SapUI5文档中看了很多东西,只能找到如何将默认过滤器设置为一个过滤器字段。 但是找不到解决方案来更改所有过滤器字段上的默认过滤器运算符。

也许有人有主意吗?

1条回答
打个大熊猫
2020-08-19 02:06

现在是2020年,但是仍然无法解决,因为FilterProvider在下面的代码中仍然没有值列表的字段:

}否则,如果(this._mTokenHandler [oControl.getId()] && this._mTokenHandler [oControl.getId()]。parser){
 this._mTokenHandler [oControl.getId()]。parser.setDefaultOperation(" EQ"); 

这真是令人惊讶,为什么在有参数的情况下会有硬编码

 this._bUseContainsAsDefault = mPropertyBag.useContainsAsDefaultFilter ===" true"; 

...

所以,即使现在,唯一的方法是在控制器扩展中实现onInitSmartFilterBarExtension,如下所示:

 onInitSmartFilterBarExtension:function(oEvent){
 var oFilter = oEvent.getSource();
 如果(oap instanceof sap.ui.comp.smartfilterbar.SmartFilterBar){
 对于(oEvent.getSource()._ oFilterProvider._mTokenHandler中的var a){
 var oParser = oEvent.getSource()._ oFilterProvider._mTokenHandler [a];
 如果(oParser && oParser.parser){
 oParser.parser.setDefaultOperation("包含");
 }
 }
 }
 },
 

一周热门 更多>