Ich muss eine Liste in einer Tabelle anzeigen. Diese Liste sollte auf der Client-Seite gefiltert werden, und deshalb muss ich das OData-Modell in ein lokales JSON-Modell kopieren.Kopieren Sie ODataModel in JSONModel für die Verwendung in Tabelle
Das OData Modell sieht wie folgt aus:
OData Modell
Ich bin in der Lage, die "/ ZcountWerksSet" Liste anzuzeigen (aus dem OData-Modell) in einer Tabelle mit diesem Code:
oSearchTable.bindAggregation("items", "/ZcountWerksSet", new sap.m.ColumnListItem({
cells : [
new sap.m.Text({
text : "{Name1}"
}),
new sap.m.Text({
text : "{Werks}"
})
]
}));
Dann kopiere ich diese in ein JSON-Modell wie folgt aus:
var oModel = this.getView().getModel();
var oModelJson = new sap.ui.model.json.JSONModel();
oModel.read("/ZcountWerksSet", {
success: function(oData, response) {
oModelJson.setData(oData);
sap.ui.getCore().setModel(oModelJson, "oJSONModel");
alert("Success!");
},
error: function(response) {
alert("Error");
}
});
Dann sieht das Modell wie diese
JSON Modell
Den Versuch, die gleiche Liste anzuzeigen (von JSON Modell dieses Mal), in einer Tabelle mit dem folgenden Code nicht funktioniert :
oSearchTable.bindAggregation("items", "{oJSONModel>/}", new sap.m.ColumnListItem({
cells : [
new sap.m.Text({
text : "{oJSONModel>Name1}"
}),
new sap.m.Text({
text : "{oJSONModel>Werks}"
})
]
}));
Wie kann ich die gleichen Daten in der Tabelle zeigen, aber dieses Mal aus dem JSON-Modell nur?
Irgendwelche Ideen, was ich falsch mache?