你必須在你的模型上運行了幾個ODataModel.read語句爲每個過濾器標籤的,是這樣的:
// These filters are the filter that should be applied for your icon count
var _mFilters = {
matMaster: [new sap.ui.model.Filter("MatMaster", "EQ", true)],
equipment: [new sap.ui.model.Filter("Equipment", "EQ", true)],
prodOrder: [new sap.ui.model.Filter("OrderType", "EQ", "P")]
};
// These are the counts that should be displayed on your filter buttons.
// Bind them from your view
var oViewModel = new JSONModel({
matMaster: 0,
equipment: 0,
prodOrder: 0
});
this.getView().setModel(oViewModel, "view");
// This will run the 3 read statement. One with each of the filters in
// effect. The result will go into the oViewModel values declared above.
jQuery.each(_mFilters, function (sFilterKey, oFilter) {
oModel.read("/Orders/$count", {
filters: oFilter,
success: function (oData) {
var sPath = "/" + sFilterKey;
oViewModel.setProperty(sPath, oData);
}
});
});
如果你然後綁定的計數性能IconTabFilter控件,例如:{view> matMaster}。每個計數應代表另一個過濾器值。
注意:不要擔心這是3讀。 UI5框架將很好地將這些內容捆綁到一個批處理中去,只需要一個請求,而不是三個。
綁定到'{/ d/results/length}',就像你對模型 – Qualiture
中的任何屬性是正確的,我已經使用它(忘記提及)我顯示3個選項卡,每個選項卡都有要顯示的表相同的數據,但用數據類型過濾 因此,它只能在第一個選項卡上工作,並且始終顯示最後一個選項卡的長度。 我需要一些其他方式來顯示計數值 –