
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.04.2020, 17:28
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
Добрый день всем! Заметил странное поведение TDBGrid, если есть обработчик DataSet.AfterScoll и в этом обработчике нужно "пробежаться" по записям грида. Если использовать код ниже, во время скроллинга текущая запись всегда остается в середине грида (за исключением начальных и конечных записей датасета). Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Вся соль в коде Код: pascal 1. 2. Если его убрать, перемещение по записям грида идет стандартное. Хотелось бы избавиться от нежелательного поведения. Заранее благодарен за идеи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.04.2020, 17:56
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
03.04.2020 17:28, Belotsky Serge пишет: > Заметил странное поведение TDBGrid, если есть обработчик DataSet.AfterScoll и в этом обработчике нужно "пробежаться" по записям грида. В ГРИДЕ ДАННЫХ НЕТ! (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.04.2020, 19:56
|
|||
|---|---|---|---|
Странное поведение TDBGrid |
|||
|
#18+
Belotsky Serge Заранее благодарен за идеи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.04.2020, 07:43
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
bk0010 Belotsky Serge Заранее благодарен за идеи! Вопрос: как "пробежаться" по записям датасета внутри DataSet.AfterScroll, потом вернуться на активную запись при вызове AfterScroll и при этом, чтобы DBGrid вел себя обычно (стандартным образом). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.04.2020, 07:44
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
Мимопроходящий 03.04.2020 17:28, Belotsky Serge пишет: > Заметил странное поведение TDBGrid, если есть обработчик DataSet.AfterScoll и в этом обработчике нужно "пробежаться" по записям грида. В ГРИДЕ ДАННЫХ НЕТ! (С) Не флеймите, я имел ввиду датасет, привязанный к DBGrid. У датасета, надеюсь, есть записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.04.2020, 11:15
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
Belotsky Serge, Для ADO и MSSQL Код: pascal 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.04.2020, 11:54
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
Gerasimenko Belotsky Serge, Для ADO и MSSQL Код: pascal 1. 2. 3. 4. 5. 6. 7. Увы, я пользуюсь стандартным TDataSet. Нет в нем методов RecordSet или Clone. Да и трудозатратно все это. Я подозреваю, что в момент DataSet.EnableControls, DBGrid обновляет себя таким образом, чтобы текущая запись была по середине грида (если она не в начале или в конце). Если бы DBGrid было свойство TopRow (как у TStringGrid), я бы попробовал запомнить его и вернуть его обратно после DataSet.EnableControls. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.04.2020, 13:22
|
|||
|---|---|---|---|
Странное поведение TDBGrid |
|||
|
#18+
Belotsky Serge Увы, я пользуюсь стандартным TDataSet. Нет в нем методов RecordSet или Clone. Да и трудозатратно все это. Стандартный TDataSet - это абстрактный класс, который САМ ничего не умеет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.04.2020, 14:16
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
DimaBr Belotsky Serge Увы, я пользуюсь стандартным TDataSet. Нет в нем методов RecordSet или Clone. Да и трудозатратно все это. Стандартный TDataSet - это абстрактный класс, который САМ ничего не умеет В моем случае - TOraQuery (TOraDataSet) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.04.2020, 09:39
|
|||
|---|---|---|---|
Странное поведение TDBGrid |
|||
|
#18+
Belotsky Serge, Можете описать изначальную задачу, которую вы решили столь нестандартным образом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.04.2020, 10:42
|
|||
|---|---|---|---|
Странное поведение TDBGrid |
|||
|
#18+
Belotsky Serge DimaBr пропущено... Стандартный TDataSet - это абстрактный класс, который САМ ничего не умеет В моем случае - TOraQuery (TOraDataSet) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.04.2020, 11:46
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
Belotsky Serge, Написать хранимую процедуру, которая сделает необходимые манипуляции с данными. Потом сделать Refresh вашей Query и отобразить изменения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.04.2020, 15:17
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
vavan Belotsky Serge пропущено... В моем случае - TOraQuery (TOraDataSet) Клонирование трудозатратно. Да и "бегаю" я только по записям выделенным в гриде. Условно говоря, юзер выделяет записи в гриде, а программа считает статистику "на лету". Выделяет он зажав Shift, при этом происходит вызов AfterScroll, после очередной выделенной записи. Задачу можно решить по-другому, просто хотелось бы решить задачу без лишних телодвижений минимальными усилиями. Да и самому интересно стало, можно ли перемещаться по записям в AfterScroll и сохранить стандартное поведение грида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.04.2020, 15:27
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
Belotsky Serge, На время "хождения по записям" - отключить грид от датасета. Потом - вернуть взад? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.04.2020, 16:06
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
DarkMaster Belotsky Serge, На время "хождения по записям" - отключить грид от датасета. Потом - вернуть взад? Это вряд ли, как только подключается датасет, пропадет все выделение, это если еще и позиция записи не изменится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.04.2020, 22:30
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
Belotsky Serge, Пробежатся перед по гриду/дадасету, запомнить ИД выделенных записей? Без этого AfterScroll? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.04.2020, 09:24
|
|||
|---|---|---|---|
Странное поведение TDBGrid |
|||
|
#18+
Belotsky Serge Клонирование трудозатратно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.04.2020, 16:41
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
DarkMaster Belotsky Serge, Пробежатся перед по гриду/дадасету, запомнить ИД выделенных записей? Без этого AfterScroll? Простой код: Код: pascal 1. Если есть привязанный к датасету грид, то он отрисуется так, чтобы текущая запись была посередине, не не передвинулась на несколько записей вперед ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.04.2020, 10:55
|
|||
|---|---|---|---|
|
|||
Странное поведение TDBGrid |
|||
|
#18+
Если надо бегать по датасету без генерации событий то как вариант Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Только возвращать позицию на место не забудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2038415]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 363ms |

| 0 / 0 |
