Уважаемый SAPUI5 разработчиков,Сортировка OData модель SAPUI5
Я разработал SAPUI5 Fiori Worklist
проект с использованием WebIDE
проектов шаблона.
В файле Component.js
была выбрана модель OData.
var sServiceUrl = this.getMetadata().getManifestEntry("sap.app").dataSources.mainService.uri;
var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl, {
json: true,
loadMetadataAsync: true
});
oModel.attachMetadataFailed(function() {
// Call some functions from APP controller to show suitable message
}, this);
this.setModel(oModel, "BrandSet");
Эта часть кода вызывает вызов сервера OData для извлечения данных с удаленного сервера. Теперь я хочу заказать данные в бэкэнд, а затем получить данные. Предположим, что функция сортировки была правильно реализована в бэкэнд. Таким образом, если я использую $orderby=name
или $orderby=price
, его необходимо сортировать по названию или по цене соответственно.
В некоторых тотариалах они заявили, что заказывают опцию sorter
внутри файла представления XML. Как здесь: https://sapui5.hana.ondemand.com/#docs/guide/c4b2a32bb72f483faa173e890e48d812.html
Теперь мои вопросы:
Как применить эту сортировку внутри
Component.js
файла, где начинается модель?Второй вопрос заключается в том, как применить этот заказ, когда мы применяем фильтр к модели? Как пример, в следующей ссылке применяется фильтр: https://sapui5.hana.ondemand.com/#docs/guide/5295470d7eee46c1898ee46c1b9ad763.html
На самом деле я ищу для функции или любого рода метода, которые добавляют в $orderby=xxx
к вызову службы OData.
Я нашел способ здесь: https://sapui5.hana.ondemand.com/docs/api/symbols/sap.ui.model.odata.ODataModel.html#constructor
Если я использую mParameters.serviceUrlParams
то я могу добавить параметр URL для запроса на обслуживание, но это уже было сказано «эти параметры будут добавлены ко всем запросам». Означает ли это, если я добавлю $orderby
с помощью этого метода, тогда я не могу избавиться от этого в последующих запросах на эту модель данных, например, для фильтрации?
Спасибо. Идеальный ответ. Это сделало для меня многое. Но у меня есть этот вопрос еще ... Можно ли программным способом установить исходный порядок для модели OData? (Я имею в виду в JavaScript, а не в представлении XML). –
Также обратите внимание, что я использовал шаблон рабочего списка WebIDE, и загрузка данных внутри Component.js была сделана с помощью WebIDE. –
Да, прагматически можно задать начальный порядок сортировки. См. [Связывание агрегирования] (https://sapui5.hana.ondemand.com/#docs/guide/91f057786f4d1014b6dd926db0e91070.html) –