簡體   English   中英

SAPUI5 XML View具有在JavaScript代碼中定義的過濾器

[英]SAPUI5 XML View with filters defined in JavaScript code

我在XML視圖中定義了一個列表。 我將列表項綁定到XML視圖中,但是我想在JavaScript代碼中定義過濾器,因為過濾器要在XML中定義很復雜。 我在FilterUtils中創建過濾器,現在我想將該過濾器數組設置為列表的過濾器。

XML視圖:

 <List id="order-List" items="{path: '/OrderSet',filters : ???} inset="false" growingScrollToLoad="true" growing="true" growingThreshold="5">

FilterUtils:

jQuery.sap.declare("de.my.util.FilterUtils");

jQuery.sap.require("sap.ui.model.FilterOperator");

de.my.util.FilterUtils = {

    /**
     * Returns the filter to request all mobile relevant orders of the current work center
     */
    buildFilterServiceOrdersOfCurrentWorkcenter: function () {
        var filterMnWkCtr = new sap.ui.model.Filter("MnWkCtr", sap.ui.model.FilterOperator.EQ, de.my.Component.getMetadata().getConfig().myConfig.mnWkCtr);
        var filterUserstatus = new sap.ui.model.Filter("Userstatus", sap.ui.model.FilterOperator.EQ, 'ACT');
        var filterOrderType = new sap.ui.model.Filter([new sap.ui.model.Filter("OrderType", sap.ui.model.FilterOperator.EQ, 'AS1'), new sap.ui.model.Filter("OrderType", sap.ui.model.FilterOperator.EQ, 'AS2'), new sap.ui.model.Filter("OrderType", sap.ui.model.FilterOperator.EQ, 'AS3'), new sap.ui.model.Filter("OrderType", sap.ui.model.FilterOperator.EQ, 'AS4')], false);
        var filterServiceOrders = new sap.ui.model.Filter([filterMnWkCtr, filterUserstatus, filterOrderType], true);
        return filterServiceOrders;
    }
}

創建完所有過濾器后,只需像這樣更新控制器中的綁定即可:

var list = this.getView().byId("order-List");
list.getBinding("items").filter(filters);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM