#data-binding #sapui5
#привязка данных #сапуй5
Вопрос:
У меня есть приложение SAPUI5 с двумя представлениями. Одна обзорная страница с интеллектуальной таблицей и страница сведений, которая также содержит интеллектуальную таблицу. При переходе от обзора к странице сведений я привязываю подробное представление к контексту с помощью: oView.bindElement(«Продукт (1)»);
В смарт-таблице подробного представления должны отображаться сведения о продукте, доступные через свойство навигации. «Продукт(1) /ProductDetails»
Проблема в том, что теперь будут запущены два последовательных серверных вызова. Один из bindElement, а другой — триггер из смарт-таблицы.
Есть ли какая-либо возможность не запускать внутренний вызов при привязке представления или этот вызов может быть отложен и выполнен параллельно с вызовом из смарт-таблицы?
Комментарии:
1. Вы включаете пакетное «использование» для модели odata? sapui5.hana.ondemand.com/#/api /…
2. Да, для параметра «useBatch» установлено значение true в модели OData
Ответ №1:
Я думаю, что полезно разделить внутренние вызовы (не помещать их в один пакет), чтобы вы могли подготовить подробный просмотр, не дожидаясь, пока интеллектуальная таблица получит результаты интеллектуальной таблицы подробного просмотра.
Однако, если вы хотите выполнить все внутренние вызовы, просто взгляните на class . sap.ui.model.odata.v2.ODataListBinding
Он используется смарт-таблицей страницы сведений. Вы можете использовать параметр batchGroupId, чтобы указать, что вы хотите, чтобы запрос был включен в указанный пакет. Используйте тот же пакет, в котором использовался bindElement
.
Изменение пакета смарт-таблицы должно быть возможно в процедуре обратного onBeforeRebindTable
вызова, если вы это сделаете:
oEvent.getParameter("bindingParams").parameters.batchGroupId = "MyBatch"