2014-10-23 2 views
2

Я хочу отобразить огромный набор данных в компоненте SAPUI5-Table. Я использовал для реализации этих данных с динамической загрузкой, а это означает, что таблица первоначально загружала ~ 50 записей. После прокрутки пользователя достаточно далеко, следующий набор из 50 записей был загружен в таблицу. Таким образом, мне удалось отобразить таблицу из более чем 160 000 записей без каких-либо проблем с производительностью.Динамическая загрузка таблицы SAPUI5/UI5

Теперь мне нужно сделать то же самое с SAPUI5-Table. Я уже реализовал серверную часть, служба OData готова к использованию. Я уже реализовал клиентов, но без этой динамической загрузки. Страница всегда пытается загрузить все записи из базы данных.

Как я могу это достичь? Есть ли какой-нибудь готовый способ реализовать это? Я знаю, что услугу OData можно вызывать с различными параметрами, которые определяют набор данных, который он будет доставлять, но я не знаю, как сделать таблицу для этих вызовов во время прокрутки?

+1

ли вы попробовать sap.ui.table.Table или просто sap.m.Table? – sirion

+3

Если вы используете 'sap.m.Table', вы можете взглянуть на' растущие' свойства [здесь] (https://sapui5.netweaver.ondemand.com/sdk/explored.html#/entity/sap .m.Table/свойства). Использование 'sap.ui.table.Table' свойства' threshold' должно быть правильно описано здесь [https://sapui5.netweaver.ondem.com/sdk/#docs/api/symbols/sap.ui. table.Table.html # getThreshold). Оба они отлично работают с [моделью OData] (https://sapui5.netweaver.ondemand.com/sdk/#docs/api/symbols/sap.ui.model.odata.ODataModel.html). –

+0

Хорошо, спасибо вам большое! –

ответ

3

Как правило, таблица, связанная с OData Model, делает все возможное для вас.

Если вы используете sap.m.Table, вы можете взглянуть на growing объектов недвижимости here.

Пример использования пейджинга с sap.m.Table можно найти в Explored app в разделе List.

Использование sap.ui.table.Tablethreshold свойство управляет размером выборки и описано here. Кроме того, вы можете выбрать navigationMode. Это может быть Paginator, а также панель прокрутки.

Очень простой пример для sap.ui.table.Table выглядит следующим образом:

var oModel = new sap.ui.model.odata.ODataModel("<yourURL>", true); 
var oTable = new sap.ui.table.Table({ 
      columns : [], //set up columns as usual 
      threshold : 50 //your fetch size here 
}); 
oTable.setModel(oModel).bindRows("/<yourEntity>");