|
[ На главную ] -- [ Список участников ] -- [ Зарегистрироваться ] |
On-line: |
Программирование на CAVO / / Помогите найти решение для bBrowser-а |
Страницы: 1 |
Автор | Сообщение |
ValeraN Группа: Модераторы Сообщений: 177 |
Добавлено: 07-09-2009 15:30 |
Задача такая: в броузере есть два рассчитываемых поля. Надо сделать так, чтобы значения показывались (и автоматически пересчитывались) только для текущей записи. Т.е., как только переходим к какой-то записи - данные в прежней записи исчезали, а в новой - появлялись. Кто-то что-то может подсказать ? | |
Sega1999 Группа: Участники Сообщений: 8 |
Добавлено: 08-09-2009 12:36 |
Попробуй метод CellSelect | |
ValeraN Группа: Модераторы Сообщений: 177 |
Добавлено: 08-09-2009 16:54 |
CellSelect и RowSelect срабатывают уже после смены позиции. Поэтому, там данные только о новой записе, строке, ячейке... Вопрос, как и где лучше перехватить событие смены позиции ? Пока алгоритм вижу такой: при программной смене или выборке новой строки в броузере мышкой надо убрать текст в прежней ячейке, а после смены - вызвать расчёт для новой... Для перерисовки использовать RedDraw. Может, у кого есть более изящное решение? |
|
ValeraN Группа: Модераторы Сообщений: 177 |
Добавлено: 10-09-2009 17:44 |
Всем спасибо ! У меня не получилось отслеживать переход со строчки на строчку. Поэтому решил оставить прежний алгоритм... С клиентом упростил задачу и вместо 2-ух рассчитываемых полей стало одно. Количество вызовов расчёта уменьшилось вдвое и стало 147. Потом оптимизировал обновление данных, включил использование Suspend-а. Количество уменьшилось до 37-и. А потом оптимизировал сам модуль рассчёта с целью обработки данных только видимых позиций. Используя метод GetVisiblePosFromRecNo() уменьшил число обрабатываемых строк. И таким образом осталось 25. Правда выполз подвох bBrowser-а: я использовал данные auRecord, а при смещении записи - его данные меняются, а значит, его приходится рассчитывать самому... Я пока отказался от этой идеи. Может, кто другой одолеет эту проблему... Ускорение существенное. Так что - всё в наших руках: правильная постановка задачи и "ровные" руки. Удачи! |
Страницы: 1 |
Программирование на CAVO / / Помогите найти решение для bBrowser-а |