Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

один 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
6-1100809826
Nick_
2004-11-18 23:30
2005.02.06
Байты


1-1106652247
viola
2005-01-25 14:24
2005.02.06
Атрибут заголовка StringFGrid


4-1102999051
Stepan
2004-12-14 07:37
2005.02.06
Как заставить одну из форм висеть поверх всех окон Windows ?


3-1105394356
Quiii
2005-01-11 00:59
2005.02.06
informacija v bazii danih nesohranjaetsja pri viklju4enii program


1-1106488512
ninja
2005-01-23 16:55
2005.02.06
ширина