Доброго времени суток.
Подскажите, какие свойства и методы нужно использовать у uniQuery, чтобы задействовать функционал "бесконечной прокрутки". Т.е. автоматическая дозагрузка (получение данных с сервера) без пагинатора.
Есть есть большой набор данных в веб-приложении (фреймфорк uniGUI) и там есть у сетки (DBGrid) режим "infinite scrolling".
Так вот. Что включить/отключить в настройках компонентов uniDAC, чтобы задействовать бесконечную прокрутку?
Подозреваю, что нужно включить SmartFetch, зашел в справку, а там пусто
https://www.devart.com/unidac/docs/deva ... embers.htm
Спасибо
Бесконечная прокрутка
Re: Бесконечная прокрутка
Для получения данных из больших таблиц компоненты UniDAC имеет специальный механизм SmartFetch, который минимизирует использование памяти приложением. Когда режим SmartFetch включен, а для параметра LiveBlock установлено значение True, объем выделенной памяти соответствует количеству записей, определенных в свойстве FetchRows. Когда новые записи загружены, дополнительная память не будет выделена, и такие записи будут удалены из памяти.
Для организации быстрой навигации по огромному набору данных UniDAC в режиме SmartFetch выполняет предварительный запрос на сервер, для построения списка значений для ключевых полей. Этот список будет хранится в памяти, пока набор данных будет активным.
Для организации быстрой навигации по огромному набору данных UniDAC в режиме SmartFetch выполняет предварительный запрос на сервер, для построения списка значений для ключевых полей. Этот список будет хранится в памяти, пока набор данных будет активным.
Код: Выделить всё
UniQuery1.SQL.Text := 'SELECT id, name FROM Table_Name';
UniQuery1.FetchRows := 100;
UniQuery1.SpecificOptions.Values['FetchAll'] := 'True';
UniQuery1.SmartFetch.Enabled := True;
UniQuery1.SmartFetch.LiveBlock := True;
UniQuery1.KeyFields := 'id';
UniQuery1.Open;