Страница 1 из 1

Наподобие Lazy image load

Добавлено: 04 Сентябрь 2017, 17:13
gopstop2007
Приветствую всех.
Как можно реализовать в browse при скролировании в списке, чтобы связанные данные не подгружались пока не остановишься?
Наподобие Lazy image load.
Может где было, не нашел :(

Наподобие Lazy image load

Добавлено: 04 Сентябрь 2017, 17:39
kreator
А не подгружались куда?
Можно убрать "Immediate" у листа. Тогда событие NewSelection будет срабатывать только при явном выборе записи, скроллирование при этом будет быстрым. Но лично мне не нравится такой путь. Я предпочитаю по возможности всё загнать в очередь, чтобы не было тормозов при прокрутке листа.

Наподобие Lazy image load

Добавлено: 04 Сентябрь 2017, 18:11
Игорь Столяров
gopstop2007 писал(а): 04 Сентябрь 2017, 17:13чтобы связанные данные не подгружались пока не остановишься
Первое, что приходит в голову: разорвать эти связи и подгружать данные из связанных списков "вручную" при отсутствии активности по таймеру ...

Наподобие Lazy image load

Добавлено: 04 Сентябрь 2017, 18:12
gopstop2007
kreator писал(а): 04 Сентябрь 2017, 17:39 А не подгружались куда?
Все это на клиенте, сервер находится на хостинге. Например список товара и несколько связанных таблиц(списков), все это находится на сервере. Чтобы не гонять(загружать) впустую данные при выборе (скрол верх или скрол вниз - скролировании) записей, а только когда остановишься на нужной записи, например задержка 0.5-1 секунда и данные отобразились.

Наподобие Lazy image load

Добавлено: 04 Сентябрь 2017, 18:23
gopstop2007
Игорь Столяров писал(а): 04 Сентябрь 2017, 18:11 Первое, что приходит в голову: разорвать эти связи и подгружать данные из связанных списков "вручную" при отсутствии активности по таймеру ...
связи разорвать не проблема, проблема в реализации, таймер впихивать в event самой таблицы или вешать на подгружаемые таблицы, да и таймер на окно не хотелось бы вешать :) поэтому и спрашиваю вашего совета.

Наподобие Lazy image load

Добавлено: 04 Сентябрь 2017, 22:45
kreator
Ну попробуй как я советовал. Убери у листа "Immediate". Связанные таблицы будут обновляться только при явном выборе записи в основном броузе. Но, скорее всего, ничего хорошего не выйдет. Веб-морда, терминал и далее по списку.

Наподобие Lazy image load

Добавлено: 05 Сентябрь 2017, 9:43
Yufil
Делал когда-то кэширование полей. Собственно, в Browse загружалась только основная таблица, остальные подкачивались сначала из очереди в памяти, а потом (в случае отсутствия) из базы, с помещением в очередь (методы brw1.next() и Brw1.previous()) . По крайней мере, просмотр пролистанных ранее записей вполне прилично смотрелся.