У меня есть vaadin grid, и здорово, что у него ленивая загрузка данных из коробки. Но по некоторым причинам у меня есть собственные фильтры, которые я использую через
CallbackDataProvider<> dataProvider.fetch(Query query)
У объекта запроса есть параметры для загрузки по частям (offset
и limit
), поэтому мне нужно установить его динамически (?) и каким-то образом прослушивать событие прокрутки сетки для загрузки следующей части данных, когда пользователь прокручивает вниз (?)
Grid.dataComunicator
имеет поле Range pushRows
, но нет общедоступных методов для его получения. И все, что у меня есть, это сетка с отложенной загрузкой без фильтрованных данных или сетка с активной загрузкой с отфильтрованными данными.
Итак, есть ли способ реализовать фильтрацию данных с ленивой загрузкой в элементе сетки vaadin?
CallbackDataProvider<>
в качестве поставщика данных для сетки. Но когда я получаю отфильтрованные данные, нет никакой связи с условием сетки (смещение и ограничение для запроса данных). - person m.gavr   schedule 07.07.2017new Query(filter)
, поляlimit
иoffset
остаются в состоянии по умолчанию 0 и 2147483647. Таким образом, все данные извлекаются из базы данных. если я установил пользовательские значения вlimit
иoffset
- выполняется только один запрос к базе данных. и когда я прокручиваю вниз, ничего не происходит. - person m.gavr   schedule 07.07.2017Grid.FetchItemsCallback<T>
не поддерживает фильтры, только порядок сортировки - person m.gavr   schedule 07.07.2017