Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обновление в Гриде
|
|||
|---|---|---|---|
|
#18+
Можно ли сделать так, чтобы в Гриде данные обновлялись с некой периодичностью(1 сек.), при этом указатель выделенной строки не перемещался каждый раз наверх? Данные в гриде - из CursorAdapter, соответственно для их обновления нужно перечитывать данные в нем : ca.CursorRefresh, после этого thisform.grid1.Refresh. При этом данные обновляются конечно как надо, но указатель каждый раз переходит наверх Как этого избежать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 10:18 |
|
||
|
Обновление в Гриде
|
|||
|---|---|---|---|
|
#18+
Вопрос неоднократно обсуждался. Общий вывод: оно того не стоит! Огромное количество усилий при минимальном результате. Если пользователю нужно обновление, пусть использует специальную кнопку "Обновить" или выйдет и снова войдет в форму. Позиционировать указатель тоже бесперспективно. У Вас есть уверенность, что такая запись не будет удалена другим пользователем? Куда позиционировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 10:35 |
|
||
|
Обновление в Гриде
|
|||
|---|---|---|---|
|
#18+
Ну уж если сильно хочется и аргументы Владимира Вас не убедили, то есть несколько вариантов: - запоминать идентификатор до обновления и после обновления позиционировать на эту запись - аналогично можно по номеру записи... Все эти варианты имеют недостатки, упомянутые Владимиром... Good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 10:43 |
|
||
|
Обновление в Гриде
|
|||
|---|---|---|---|
|
#18+
Позиционировать каждый раз на запись конечно не хочется. Тем более с такой частотой - 1 сек., и если курсор достаточно большой, то это опять будет мелькание. Насколько я знаю, в случае с нормальными таблицами это решается - просто открывается таблица в приватной датасессии и грид просто обновляется, данные в гриде обновляются и указатель не скачет. При этом в отдельной датасесии в этой же программе может быть открыта форма, изменяющая содержимое таблицы. Поэтому я предположила,что подобное можно сделать не только с обычными таблицами, но и с CursorAdapter. Можно как-то так сделать так, чтобы в отдельной форме он обновлялся, а в отдельной - грид был настроен на этот CursorAdapter и обновлялся только грид? (И у форм были разные датасессии при этом). Как настроить грид на CursorAdapter, созданный в другой форме, открытый в другой датасессии? Если можно как-то, то может все и получится!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 10:49 |
|
||
|
Обновление в Гриде
|
|||
|---|---|---|---|
|
#18+
********************************************** Данные в гриде - из CursorAdapter, соответственно для их обновления нужно перечитывать данные в нем ********************************************** Как раз для обновления перечитывать данные не надо!!! после обычного repl в сursor_adapter надо дать команду vvv=tableupdate() и в случае vvv=.f. разобраться (изменена запись кем то еще или вообще удалена ) Вот чтобы разобраться изменена запись или удалена надо перечитать, но только запись с текущим ID (но это проще сделать в отдельный RECORDSET и не рушить Ваш GRID) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2004, 15:59 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32650404&tid=1595961]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 402ms |

| 0 / 0 |
