Переключение Browse File/Page в рантайме

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
morkovin
Ветеран
Сообщения: 935
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 9 раз
Поблагодарили: 4 раза
Контактная информация:

Переключение Browse File/Page в рантайме

Сообщение morkovin »

C10, ABC, TPS
Есть стандартный Browse+InteractiveFilter(Taboga)+Totals+FileLoad. Всё работает, но не быстро. Хотелось бы, чтобы Browse изначально был в PageLoad, а переключался в FileLoaded(для правильного подсчета Totals) только при применении фильтра. И ,соответственно, при отключении фильтра снова переключался бы в PageLoaded.
Пробовал устанавливать(сбрасывать) BRW1.FileLoaded, но получается ерунда -нужны какие-то дополнительные инициализации броуса. Но какие?
WBR, morkovin
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Переключение Browse File/Page в рантайме

Сообщение kreator »

А для чего? Если для Totals, то и так стандартный вариант (шаблоны, классы) делает полный проход по View.
We are hard at work… for you. :)
Аватара пользователя
morkovin
Ветеран
Сообщения: 935
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 9 раз
Поблагодарили: 4 раза
Контактная информация:

Переключение Browse File/Page в рантайме

Сообщение morkovin »

Totals, то и так стандартный вариант (шаблоны, классы) делает полный проход по View
Замедление становится слишком заметно. Я подсчитываю Totals "по требованию" - по кнопке, на которой код:

Код: Выделить всё

CLEAR(Loc:SumHours)
     LOOP X# = 1 TO RECORDS(Queue:Browse:1)
          GET(Queue:Browse:1,X#) 
          IF ERRORCODE() THEN BREAK.
          Loc:SumHours=Loc:SumHours+Queue:Browse:1:BAP:Netto
      END
т.е. подсчет по отфильтрованной очереди . И что-то в режиме PageLoad подсчет только по видимой странице, а в режиме FileLoad - всё Ok.
WBR, morkovin
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Переключение Browse File/Page в рантайме

Сообщение kreator »

Ну чудес не бывает. Либо загрузка данных идёт медленно в случае FileLoad, либо в случае PageLoad всё равно при расчёте Totals нужно лезть в базу. Видимо при применении фильтра расчёт Totals нужно сделать вручную.
Вообще мне кажется изменение FileLoad в рантайме - не криминал, нужно только правильно обновить броуз после изменения, типа BRW1.Reset. В очередь закачаются все данные.
We are hard at work… for you. :)
Ответить