![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
1147 |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
На PageControl1 несколько TabSheet (Tabsheet1-...Tabshitn). На каждой TabSheet по одной DBGrid, но для всех DBGrid служит источником 1 ADOTable.
При работе на первой странице, при нажатии кнопки которая перемещает курсор на DBGrid ADOTable1.FieldByName('Номера').FocusControl; ничего не происходит, т.к. есть таблицы с такими же ресурсами на других страницах. Можно ли как-нибудь указать программе что нужно перемещать курсор именно на ту таблицу, которая находится на активной странице? Мне кажется что здесь кроме удаления повторяющихся таблиц ничего не поможет.. Сообщение отредактировано: 1147 - 1.09.2009 2:01 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Если на закладке с №1 лежит DBGrid1, и так далее (т.е., если номер грида совпадает с номером закладки), то можно сделать такой "финт ушами": изначально установить всем Гридам DataSource = nil, и только одному, который лежит на активной странице PageControl-а, дать нормальное значение, а при переключении на другую вкладку делать вот что: (если у тебя все Гриды связаны с одной таблицей, значит, и DataSource везде один и тот же, правда?).
Итого, вешаем на событие OnChange PageControl-а вот такую процедуру: procedure TForm1.PageControl1Change(Sender: TObject); , и нажимаем на кнопку, код которой ты привел. Поскольку других активных ДБГридов в приложении нет, то будет изменяться именно тот, который на текущей вкладке. Причем я пробовал сделать всем остальным Enabled := False - это не помогает, помог только сброс DataSource... |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 4:12 |