如何使用Filter" EQ"找到搜索字段的结果?方法?

时间:2016-11-02 17:54:17

标签: javascript jquery filter sapui5

我有一个用作搜索字段的Input元素。下面的函数在提交搜索后根据范围的数据过滤用户输入。

我的问题是:如何找到过滤结果?例如,假设用户输入了有效的产品,但数据没有显示它的历史记录 - 我希望有一种方法可以通知用户(即:警报),如果提交的查询结果没有来自数据?

onFilterProduct : function (oEvent) {
         // build filter array
        var aFilter = [], 
            //get the searchfield Id
            oInput = this.byId("productSearch"),

            oTable = this.getView().byId("idProductsTable"),
            oBinding = oTable.getBinding("items"),

            //get searchfield value
            sQuery = oInput.getValue(),

    if (sQuery) {

            //push matches into aFilter array                
            aFilter.push(new Filter("Product", FilterOperator.EQ, sQuery));

            oBinding.filter(aFilter);
        };
    };

我不知道在“过滤器”里面找到这个的地方。阵列。

这是一个例子,如果它会有所帮助 http://jsbin.com/vigeg/1/edit?js,output

1 个答案:

答案 0 :(得分:1)

您可以使用oBinding.getLength()在应用过滤器后获取列表绑定中的条目数。在你的情况下,将返回0。另一种方法是在应用过滤器后调用oTable.getItems(),它将返回一个空数组。