搜索帮助未在UI5中给出确切结果

时间:2018-08-17 10:52:53

标签: sapui5

我已经在ui5控制器文件中为搜索字段编写了代码,但是当我在输入搜索字段中粘贴特定的列值时,搜索字段没有提供预期的输出。相反,如果我在搜索字段中键入值,则会给出准确的输出。 我使用了livechange事件。我也尝试了搜索事件,但无法获得输出。 我正在使用odata服务。

下面是控制器文件代码:

    onSearch: function(oEvt) {

        // add filter for search
        var aFilters = [];
        var sQuery = oEvt.getSource().getValue();
        if (sQuery && sQuery.length > 0) {
            var filter = new Filter("UNIQUE_ID", sap.ui.model.FilterOperator.EQ, sQuery);
            aFilters.push(filter);
        }

        // update list binding
        var list = this.byId("orderTable");
        var binding = list.getBinding("items");
        binding.filter(aFilters);

    }

查看代码: 标签class =“ sapUiMediumMarginTop” text =“唯一ID”

SearchField width =“ 150px” class =“ sapUiSmallMargin” liveChange =“ onSearch”

如果我有任何遗漏,请提出建议。

1 个答案:

答案 0 :(得分:0)

也许这个例子可以帮助您?我用一些随机数据测试了您的代码,它对我有用。

    onSearch: function(oEvent) {
        var sQuery = oEvent.getParameter("query");

        var oFilter1 = new Filter("Name", FilterOperator.Contains, sQuery);
        var oFilter2 = new Filter("Age", FilterOperator.Contains, sQuery);
        var arrFilter = new Filter([oFilter1, oFilter2], false);

        // filter binding
        var oList = this.byId("idList");
        var oBinding = oList.getBinding("items");
        oBinding.filter(arrFilter);
    },