SAP UI5. Ограничение количества отображаемых в списке записей

SAP UI5. Ограничение количества отображаемых в списке записей из модели данных

Если в модели данных вашего SAPUI5 приложения содержится более 100 записей, а для визуализации этих данных в представлении (View) применяется элемент типа List, увидеть все записи из модели в результате выполненного binding'a, у вас, скорее всего, не получится.

См. Data Binding

Количеством записей для отображения можно управлять. Рассмотрю небольшой пример.

OData сервис

Есть OData сервис, который обрабатывает данные пользовательской таблицы, содержащей более 100 записей.

SAPUI5 приложение

В SAPUI5 приложении я подготавливаю модель данных, записи из которой должны быть выведены на фронт с применением элемента List.

Как показано выше, в представлении (View) отображается только 100 записей. Можно предположить, что по каким-то причинам оставшиеся 200 не были добавлены в модель. На следующем видеофрагменте я покажу, что это не так.

Из backend-системы пришли все 300 записей.

Что же произошло?

Сработало ограничение количества используемых для binding'а записей, равное 100.

См. class sap.ui.model.Model

Set the maximum number of entries which are used for list bindings.
The default size limit for models is 100.

Изменяем количество отображаемых записей из модели данных

Управлять количеством задействованных к отображению записей можно, если вызвать метод setSizeLimit

onInit: function() {
 
            var sUrl = "/sap/opu/odata/SAP/ZAPP14_SRV_01/";
            var oDataModel = new sap.ui.model.odata.v2.ODataModel(sUrl, {
                json: true,
                loadMetadataAsync: true
            });
 
            var oModel = new sap.ui.model.json.JSONModel();
            oDataModel.read("/countSet", {
                success: function(oData, response) {
                    oModel.setData(oData);
                }
            });
            oModel.setSizeLimit(300);
            this.getView().setModel(oModel, "count");
        }

Проверяю