Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отображение изменений в гриде

293
10 июня 2004 года
SEDEGOFF
586 / / 06.10.2002
Вот в грид у меня загружено около 20000 строк. Каждая строка составлена из данных нескольких таблиц. И вот в какой то таблице происходит зменение данных. Как в моем гриде быстро отобразить это изменение. Обращаю внимание что перезагрузка полного справочника не реально, так как загрузка его занимает примерно 20 - 30 секунд. А изменения в таблицах происходят каждые 60 секунд.
Поделитесь пожалуйста опытом.
1
11 июня 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by SEDEGOFF
Вот в грид у меня загружено около 20000 строк. Каждая строка составлена из данных нескольких таблиц. И вот в какой то таблице происходит зменение данных. Как в моем гриде быстро отобразить это изменение. Обращаю внимание что перезагрузка полного справочника не реально, так как загрузка его занимает примерно 20 - 30 секунд. А изменения в таблицах происходят каждые 60 секунд.
Поделитесь пожалуйста опытом.


Возможно выходом может служить использование триггера с дополнительной таблицей в которой отображается изменившийся параметр и генерацией события на стороне сервера. Перечитать одну небольшую таблицу я думаю не накладно - далее использовать обработку события OnUpdateData DataSourse и обновлять только изменившиеся записи. Правда если ты используешь стандартный грид - боюсь он все равно будет перечитывать все записи.

293
12 июня 2004 года
SEDEGOFF
586 / / 06.10.2002
Цитата:
Originally posted by kot_

Возможно выходом может служить использование триггера с дополнительной таблицей в которой отображается изменившийся параметр и генерацией события на стороне сервера. Перечитать одну небольшую таблицу я думаю не накладно - далее использовать обработку события OnUpdateData DataSourse и обновлять только изменившиеся записи. Правда если ты используешь стандартный грид - боюсь он все равно будет перечитывать все записи.


А как быть если клиентов в это время N. Как узнать что это строка с обновлением именно для этого клиента. Здесь не все так просто.
Другой вариант - ловить все события сервака. Ведь событие можно строить динамически. Вот в нем и передавать изменения. Но как ловить все эти события??? Программа ловит только зарегистрированные события (или сервак посылает только зарегистрированные)

1
12 июня 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by SEDEGOFF

А как быть если клиентов в это время N. Как узнать что это строка с обновлением именно для этого клиента. Здесь не все так просто.
Другой вариант - ловить все события сервака. Ведь событие можно строить динамически. Вот в нем и передавать изменения. Но как ловить все эти события??? Программа ловит только зарегистрированные события (или сервак посылает только зарегистрированные)


Передо мной стоит сейчас задача похожего типа, и при ее решении я, пока покрайней мере, остановился на разработке собственного класса для клиентского кеша, для которого выделяется специальная служебная таблица в базе. Кеши клиентов перечитывают таблицу и проверяют наличие объекта - работает достаточно быстро за счет использования связки set-multimap. Кеш который содержит обновившиеся объекты должен обновить данные. Задача еще не отработана полностью, поэтому немного сумбурно.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог