![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 08.04.2014
Сообщений: 26
|
![]()
Здравствуйте, подскажите пожалуйста как можно реализовать одновременную прокрутку нескольких DBGridEh???
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
как всегда "ловить" сообщение(событие) о перемещении в одном наборе данных и прокручивать другой набор данных до нужной позиции.
OnAfterScroll для одного TDataSet (который крутим) и Locate на другом TDataSet(который должен крутиться "синхронно").
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 08.04.2014
Сообщений: 26
|
![]()
Извините, а можно по подробнее, объяснить как отлавливать событие.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
"ловить сообщение" ==написать процедуру(метод) и назначить ее как обработчик для соответствующего события (event).
1. В Delphi выбираем форму на которой все это расположено (наши таблицы(Grid) и наборы данных(DataSet) "привязанные" к ним. 2. находим DataSet для которого хотим "ловить событие" 3. нажимаем F11 (для перехода в ObjectInspector [Инспектор Объектов]). 4.Далее работаем с окном ObjectInspector. 4.1. в выпадающем списке объектов(combobox) проверяем что у нас выбран правильный объект(Dataset). Если нет, то устанавливаем. 4.2. выбираем вкладку Events (события) 4.3. находим интересующее нас событие. (AfterScroll) 4.4. DblClick на пустом поле напротив нужного события. 5. теперь мы готовы "ловить событие" получать сообщение(Event). осталось только написать что будем делать в случае прихода (наступления) данного сообщения. писать надо внутри той процедуры(метода) который мы получили по DblClick из п.4.4. А писать мы будем что? Правильно мы будем искать(Locate) нужную нам запись в другом DataSet.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 05.06.2014 в 12:26. |
![]() |
![]() |
![]() |
#5 | ||
Пользователь
Регистрация: 08.04.2014
Сообщений: 26
|
![]() Цитата:
Вот для adoquery (который поключен к dbgrid, который нужно прокручивать) на событие AfterScroll пишу( как поняла из ваших слов) : Цитата:
|
||
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
в Locate нужно написать условие, по которому происходит позиционирование в связанном гриде. У Вас же гриды как-то связаны?!
в худшем случае, когда основной грид и зависимый никак не связаны, тогда делайте перемещение по номеру записи... (какой номер записи текущий в главном гриде, такой же номер записи делайте активным и в связанном гриде...) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Одновременная реакция | aleksskay | Общие вопросы Delphi | 8 | 15.04.2014 21:41 |
Одновременная трансляция | Green4el | Свободное общение | 0 | 25.02.2013 15:33 |
одновременная работа с двумя DBGrid | Vashkin | БД в Delphi | 5 | 16.12.2011 13:09 |
Одновременная работа с окнами | Bezsmertniy | Помощь студентам | 0 | 04.11.2010 11:25 |
одновременная печать формы и Webbrowser | tigr1991 | Общие вопросы Delphi | 5 | 01.10.2008 14:43 |