Sie müssten ein paar ODataModel.read Anweisungen auf Ihrem Modell für jedes Ihrer Filter Tabs laufen, so etwas wie:
// 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);
}
});
});
Wenn Sie dann binden die Zählergebnisse Eigenschaften die Controls des IconTabFilters, zB: {view> matMaster}. Jede Zählung sollte einen anderen Filterwert darstellen.
Hinweis: Mach dir keine Sorgen darüber, dass es 3 liest. Das UI5-Framework bündelt diese in einem einzigen Batch, der zum Backend geht, was zu einer einzigen Anfrage führt, nicht zu drei.
Binden an '{/ d/results/length}', wie Sie mit jeder Eigenschaft in Ihrem Modell – Qualiture
, das ist richtig, und ich habe es bereits verwendet (vergessen zu erwähnen) Ich zeige 3 Registerkarten mit jeweils Tabelle zur Anzeige gleiche Daten, aber gefiltert mit der Art der Daten daher funktioniert es nur auf der ersten Registerkarte und es zeigt immer die Länge der letzten Registerkarte. Ich brauche eine andere Möglichkeit, um den Zählwert anzuzeigen –