首页 > 解决方案 > 如何在FilterBar中添加过滤依据?

问题描述

我正在尝试实施FilterBar. 单击Hide Filter Bar时,我想显示Filtered by(): Filter name1, Filter 2, Filter 3。类似于以下屏幕截图:

在此处输入图像描述

但我想使用FilterBar控制来做到这一点。

此外,当我向过滤器添加一些数据时,我没有得到filters()过滤器栏上使用的数量。例子:

在此处输入图像描述

标签: sapui5

解决方案


你必须使用GetFiltersWithValue.

onInit(){
...
   this.oFilterBar = this.byId("filterbarID);
   this.oFilterBar.registerGetFiltersWithValues(this.fGetFiltersWithValues);
...
}
....
fGetFiltersWithValues: function() {
    var i;
    var oControl;
    var aFilters = this.getFilterGroupItems();

    var aFiltersWithValue = [];
    for (i = 0; i < aFilters.length; i++) {
        oControl = this.determineControlByFilterItem(aFilters[i]);
        if (oControl && oControl.getValue && oControl.getValue()) {
            aFiltersWithValue.push(aFilters[i]);
        }
    }
    return aFiltersWithValue;
},

推荐阅读