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

Вниз

один DBNavigator для нескольких таблиц БД   Найти похожие ветки 

 
Azat   (2004-12-30 07:51) [0]

Уважаемые мастера. Можно ли использовать один DBNavigator для нескольких таблиц БД на одной форме и если можно то как? Я пробовал:

procedure TForm3.DBGrid3CellClick(Column: TColumn);
begin
DBNavigator1.DataSource:=DataModule2.pumpSource
end;

procedure TForm3.DBGrid4CellClick(Column: TColumn);
begin
DBNavigator1.DataSource:=DataModule2.paramSource
end;

но вторую таблицу не цепляет


 
Sergey_Masloff   (2004-12-30 08:37) [1]

Я твой код не понимаю.
И что такое "не цепляет таблицу" тоже

Можно сделать что-то в этом роде:
На OnEnter DBAware контролов повесить обработчик примерно такого содержания:


........
var
 PropInfo: PPropInfo;
........
 PropInfo:= GetPropInfo(Sender.ClassInfo,"DataSource");
 if Assigned(PropInfo) then
 begin
   YourNavigator.DataSource := TDataSource(GetOrdProp(Sender, PropInfo));


Будешь всегда редактировать что надо


 
DSKalugin ©   (2004-12-30 11:14) [2]

Обрабатывай событие DBGrid.OnEnter

procedure TForm3.DBGrid4Enter(Sender: TObject);
begin
 DBNavigator1.DataSource:=DBGrid4.DataSource
end;


 
Rule ©   (2004-12-30 11:27) [3]

изврат какойто, а зачем это нада ?


 
Sergey13 ©   (2004-12-30 11:35) [4]

Мне тоже не совсем нравится подход через OnEnter грида. Узер может туда и не тыкаться, а сразу в нафигатор. Съэкономить на нафигаторе можно, если гриды гарантировано не показываются вместе. Например лежат на разных шитах пейджконтрола.


 
stud ©   (2004-12-30 11:39) [5]

дык и смысл навигатора? для перемещения по гриду хватает и клавиш управления курсором - лишний элемент


 
Rule ©   (2004-12-30 11:57) [6]

Sergey13 ©   (30.12.04 11:35) [4]
Например лежат на разных шитах пейджконтрола
ну тогда можно положить на каждый пейдж по навигатору, не так он много то и ресурсов ест ...
stud ©   (30.12.04 11:39) [5]
на любителя, я привык


 
Sergey13 ©   (2004-12-30 11:59) [7]

2[6] Rule ©   (30.12.04 11:57)
Это да, но если шибко хочется, то можно и съэкономить. 8-)


 
Sergey_Masloff   (2004-12-30 12:05) [8]

Sergey13 ©   (30.12.04 11:35) [4]
>Мне тоже не совсем нравится подход через OnEnter грида.
А зря. Потому что формы на которых данные десятка датасетов нужны вижу постоянно а форма с десятком навигаторов...
 А если он ентер не будет то он ничего и не отредактирует потому что изменить что-то в контроле не войдя в него нельзя. А изначально у навигатора DataSource = nil

 Ну честное слово - ОФИГЕННО удобно.
 Более того, у себя я эти ссылки датасорсов передаю в дочерние формы что тоже часто удобно.

 А вообще прав Rule ©   (30.12.04 11:57) [6] в том смысле что все на любителя.


 
Sergey13 ©   (2004-12-30 12:22) [9]

2[8] Sergey_Masloff   (30.12.04 12:05)
>А изначально у навигатора DataSource = nil
Так это до первого использования.

>все на любителя.
Кто бы спорил. 8-)


 
msguns ©   (2004-12-30 13:14) [10]

Для централизации управления датасетами (гридами):
- MDIForm с панелью управления + MDIChild с датасетами и гридами
- ActionList в MDIForm с обработчиками
- Сообщения от Гл.формы активной при соотв.экшинах, которые объявляются и обрабатываются "дочками"  либо интерфейс

Для "дочек" базовая форма с обработкой типовых событий (AfterScrool, BeforeInsert, ...) существенно упростит процесс разработки, особенно когда датасетов/гридов может быть много (например, справочники).

ИМХО, в большинстве случаев существенно удобнее как модальных форм, так и пэйджкотнролов, т.к. позволяют видеть одновременно несколько таблиц, формочки с которыми можно удобно расположить относительно друг друга при работе.



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

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

Наверх





Память: 0.47 MB
Время: 0.039 c
1-1106135979
lehich
2005-01-19 14:59
2005.02.06
проверка запароленного файла


1-1106399819
Islander
2005-01-22 16:16
2005.02.06
Как проиграть звук критической ошибки?


3-1104382299
Azat
2004-12-30 07:51
2005.02.06
один DBNavigator для нескольких таблиц БД


6-1101283152
Донской
2004-11-24 10:59
2005.02.06
соединение с mail.ru


4-1103491919
pika
2004-12-20 00:31
2005.02.06
Запуск программы !!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский