我遇到了一个在SAPUI5中无法解决的问题。
我有一个带有工具栏的表格,其中包含一个文本字段。该字段的值用于过滤表格的所有列。 我知道我必须创建多个自定义过滤器。但我不知道如何将所有部件组合在一起。因此,我创建了以下方法:
filtering : function(value, oEvent) {
var oFilter1 = new sap.ui.model.Filter(this.byId("Column1"), sap.ui.model.FilterOperator.Contains, value);
var oFilter2 = new sap.ui.model.Filter(this.byId("Column2"), sap.ui.model.FilterOperator.Contains, value);
var oFilter3 = new sap.ui.model.Filter(this.byId("Column3"), sap.ui.model.FilterOperator.Contains, value);
var oFilter4 = new sap.ui.model.Filter(this.byId("Column4"), sap.ui.model.FilterOperator.Contains, value);
var allFilter = new sap.ui.model.Filter([oFilter1, oFilter2, oFilter3, oFilter4], false);
var oBinding = oEvent.getSource().getBinding("items");
oBinding.filter(allFilter);
}
我在这里找到了答案
这种方法是从文本字段的liveChange事件中调用的。 我不知道是否需要oEvent。
"new sap.ui.model.Filter()"的第一个参数是什么? 我以为它是需要的列。 新筛选器必须在哪里触发? 我会使用“table.filter(allFilter)”。
我想,我只需要一点解释...