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

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

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

Сообщение gopstop2007 »

Приветствую всех.
Как можно реализовать в browse при скролировании в списке, чтобы связанные данные не подгружались пока не остановишься?
Наподобие Lazy image load.
Может где было, не нашел :(
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

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

Сообщение kreator »

А не подгружались куда?
Можно убрать "Immediate" у листа. Тогда событие NewSelection будет срабатывать только при явном выборе записи, скроллирование при этом будет быстрым. Но лично мне не нравится такой путь. Я предпочитаю по возможности всё загнать в очередь, чтобы не было тормозов при прокрутке листа.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

gopstop2007 писал(а): 04 Сентябрь 2017, 17:13чтобы связанные данные не подгружались пока не остановишься
Первое, что приходит в голову: разорвать эти связи и подгружать данные из связанных списков "вручную" при отсутствии активности по таймеру ...
За теми кто отстал - не возвращаться. (С) Кодекс
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

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

Сообщение gopstop2007 »

kreator писал(а): 04 Сентябрь 2017, 17:39 А не подгружались куда?
Все это на клиенте, сервер находится на хостинге. Например список товара и несколько связанных таблиц(списков), все это находится на сервере. Чтобы не гонять(загружать) впустую данные при выборе (скрол верх или скрол вниз - скролировании) записей, а только когда остановишься на нужной записи, например задержка 0.5-1 секунда и данные отобразились.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

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

Сообщение gopstop2007 »

Игорь Столяров писал(а): 04 Сентябрь 2017, 18:11 Первое, что приходит в голову: разорвать эти связи и подгружать данные из связанных списков "вручную" при отсутствии активности по таймеру ...
связи разорвать не проблема, проблема в реализации, таймер впихивать в event самой таблицы или вешать на подгружаемые таблицы, да и таймер на окно не хотелось бы вешать :) поэтому и спрашиваю вашего совета.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

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

Сообщение kreator »

Ну попробуй как я советовал. Убери у листа "Immediate". Связанные таблицы будут обновляться только при явном выборе записи в основном броузе. Но, скорее всего, ничего хорошего не выйдет. Веб-морда, терминал и далее по списку.
We are hard at work… for you. :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

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

Сообщение Yufil »

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