Есть ли какой-либо особый способ достижения пейджинга/ленивой загрузки в таблицах Ваадина. Я попытался найти документацию, но не смог.Lazy loading in Vaadin Table?
ответ
Использовать Viritin add-on и его компонент MTable. Я - самый эффективный (серверный ресурс), способный сделать это, а также имеет самый простой API (нет необходимости работать с API-интерфейсом Container вообще!). Просто реализуйте два простых интерфейса, и все готово. Вот пример с лямбдами и базовым DAO.
@Inject
GPSRouteService s;
@Override
public Component getTable() {
return new MTable<Update>(s::fetchUpdates, s::getEntityCount)
.withFullWidth();
}
Приведенный выше пример кода от this example app, который показывает различные подходы ленивым погрузки в Vaadin. Если вы пользователь Spring, посмотрите на this example, который подключается к репозиторию Spring Data JPA, а также использует дополнительную сортировку.
Я поддерживаю Viritin, но я также поддерживал Vaadin и различные дополнения на протяжении 7 лет, и в настоящее время я занимаюсь техническим маркетингом для Vaadin.
Ленивая загрузка полностью переработан и хорошо поддерживается из коробки в Vaadin 8. Вот пример from the official docs:
DataProvider<Person, Void> dataProvider = new BackendDataProvider<>(
// First callback fetches items based on a query
query -> {
// The index of the first item to load
int offset = query.getOffset();
// The number of items to load
int limit = query.getLimit();
List<Person> persons = getPersonService().fetchPersons(offset, limit);
return persons.stream();
},
// Second callback fetches the number of items for a query
query -> getPersonService().getPersonCount()
);
Grid<Person> grid = new Grid<>();
grid.setDataProvider(dataProvider);
Ленивая загрузка осуществляется в таблице (и большинство других компонентов). Но для его работы вам нужен контейнер, который правильно его обрабатывает. –
Не могли бы рассказать мне тип контейнера, который я использую для использования – chathura
Каким образом хранятся ваши данные? –