Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Вниз

Как реализовать PageControl с БД   Найти похожие ветки 

 
igor_w   (2005-01-25 10:25) [0]

Я ставлю на каждую страницы PageControl отдельную базу, при просмотре базы её как-бы не видно, щелкаем правой кнопкой мыши база появляется. Как сделать чтобы она запускалась сразу при переходе на другую страницу?


 
Sergey13 ©   (2005-01-25 10:38) [1]

Написать соответствующий обработчик. И, видимо, разобраться с терминологией (база<>таблица).


 
msguns ©   (2005-01-25 11:00) [2]

А куда запускаются базы-то ? В космос ?


 
igor_w   (2005-01-25 12:22) [3]

Да не в космос. Просто нужно чтобы при запуске программы сразу бы открывалась БД, затем, при переходе на другой лист PageControl
открывалась другая БД и т.д. А получается, запускаем программу и
вместо данных в базе пустое поле, щелкаем правой кнопкой мыши данные появляются. Нужно чтобы не щелкать мышкой.


 
Плохиш ©   (2005-01-25 12:25) [4]


>igor_w   (25.01.05 12:22) [3]

Хм, тут знаешь ли код писать в программе надо.


 
msguns ©   (2005-01-25 13:15) [5]

Во-первых, надо как-то все ж таки определиться: что такое "база" и что такое "открываться".
Если БД одна (рискну предположить, что это локалка типа парадокс или дибэйз), т.е. каталог для всх "баз" один и тот же, то под словом "база" имеется в виду таблица или запрос. В этом случае БД всего одна, а таблиц (запросов) может быть много и некоторые из них мы желаем отображать в гридах, помещенных в пэйджконтролы.
Если так, то открывать БД нужно только один раз,- обычно в начале работы приложения (можно в событии OnShow главной формы), а все компоненты, с помощью которых мы будем отображать таблицы (в миру датасеты) "отошлем" к единому TDataBase.
Итак, у нас есть 2 способа "открытия" датасетов:
1. Ламерский и ресурсоемкий: При открытии БД (см. выше) тут же открываем и все датасеты. В этом случае мы пюлюем на всякие там события и вообще программинг, т.к. при листании страниц видим уже открытые датасеты в гридах
2. Продвинутый и экономный: Все НД вообще-то закрыты и не гребут ресурсы. Но мы вынуждены воспользоваться событиями пэйджконтрола, а именно теми из них, которые возникают при переходе с одной страницы на другую (см.хэлп). Дальше ясно: НД, отображаемый в теряющей фокус странице закрываем, получающей - открываем. Во избежание потери при переоткрытии НД текущей записи пользуемся закладками. Но надо кодить.

Есть, конечно, еще другие способы, например, отображение любой таблицы через отдельную дочернюю форму, полученную из написанного базового класса и имеющую минимум кода. Этот способ позволяет просматривать несколько НД (таблиц - для ламера) одновременно, причем узер может расположить окошки на экране как ему удобно, например, для сравнения и легко перемещать курсор между этими таблицами. А если еще написать универсальную панель управления, с помощью которой можно редактить любую из отображаемый "дочками" таблицу, то... Но это уже не годится, видимо, т.к. требует не только знания основ БД, но и понимания ООП. Что, видимо, в данном случае, отсутствует напрочь.


 
Жук ©   (2005-01-25 13:24) [6]


> msguns ©   (25.01.05 13:15) [5]

"Тебе бы, Серёга, книжки писАть" (почти(с))


 
igor_w   (2005-01-28 15:45) [7]

Спасибо всем! Розобрался.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.058 c
1-1107963572
Chajnik
2005-02-09 18:39
2005.02.27
Подможите пож. подсчитать символы


3-1106766390
HATAB
2005-01-26 22:06
2005.02.27
Поиск в БД


3-1106566495
Belkova
2005-01-24 14:34
2005.02.27
Копирование из одной БД в другую


3-1106813424
ROMshtain
2005-01-27 11:10
2005.02.27
Связь с Oracle


1-1108460961
Gost
2005-02-15 12:49
2005.02.27
Как сделать форму для ввода пароля?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский