Мне нужно показать список в таблице. Этот список должен быть отфильтрован на стороне клиента, и из-за этого мне нужно скопировать модель OData в локальную модель JSON.Скопируйте ODataModel в JSONModel для использования в таблице
Модель OData выглядит следующим образом:
OData модель
Я могу показать список "/ ZcountWerksSet" (от модели OData) внутри таблицы, используя этот код:
oSearchTable.bindAggregation("items", "/ZcountWerksSet", new sap.m.ColumnListItem({
cells : [
new sap.m.Text({
text : "{Name1}"
}),
new sap.m.Text({
text : "{Werks}"
})
]
}));
Тогда я копирую это в модель JSON как это:
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");
}
});
Тогда модель выглядит следующим образом
JSON модели
Пытаюсь показать тот же самый список (из JSON модели на этот раз), в таблице, используя следующий код не работает :
oSearchTable.bindAggregation("items", "{oJSONModel>/}", new sap.m.ColumnListItem({
cells : [
new sap.m.Text({
text : "{oJSONModel>Name1}"
}),
new sap.m.Text({
text : "{oJSONModel>Werks}"
})
]
}));
Как я могу показать те же данные в таблице, но только от модели JSON на этот раз?
Любые идеи, что я делаю неправильно?