我在 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);
}
Run Code Online (Sandbox Code Playgroud)
该方法是从文本字段的 liveChange 事件调用的。我不知道我是否需要 oEvent。
“new sap.ui.model.Filter()”的第一个参数是什么?我认为这是需要的列。新的过滤器必须在哪里触发?我会使用“table.filter(allFilter)”。
我想,我只需要一点解释......