3

我有一张可以从一列中过滤的表格:

  handleSearch: function(oEvent) {
                var sValue = oEvent.getParameter("value");
                var oFilter = new sap.ui.model.Filter("RAG_SOC_1", sap.ui.model.FilterOperator.Contains, sValue);
                var oBinding = oEvent.getSource().getBinding("items");
                oBinding.filter([oFilter]);
          },

如何从更多列中过滤?

例如,如果我有 A、B、C 和 D 列,如果我在搜索栏中写“你好”,我想要在字段 A 或 B 或 C 或 D 中包含单词“你好”的所有结果。

4

1 回答 1

7

请看以下代码:

var oFilter1 = new sap.ui.model.Filter("A", sap.ui.model.FilterOperator.Contains, sValue);
var oFilter2 = new sap.ui.model.Filter("B", sap.ui.model.FilterOperator.Contains, sValue);
var oFilter3 = new sap.ui.model.Filter("C", sap.ui.model.FilterOperator.Contains, sValue);
var oFilter4 = new sap.ui.model.Filter("D", sap.ui.model.FilterOperator.Contains, sValue);
var allFilter = new sap.ui.model.Filter([oFilter1,oFilter2,oFilter3,oFilter4]); 
var oBinding = oEvent.getSource().getBinding("items");
oBinding.filter(allFilter);

请参阅文档:

新 sap.ui.model.Filter(aFilters, bAnd);

aFilters 是 sap.ui.model.Filter 的其他实例的数组。如果设置了 bAnd,则过滤器中的所有过滤器都将进行 AND 运算,否则它们将进行 OR 运算。

于 2014-08-08T11:00:53.987 回答