Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как программно переключить DBEdit от 1го источника данных к другому
|
|||
|---|---|---|---|
|
#18+
В DataModule1 содержатся: Table1 -> DataSource1; Table2 -> DataSource2; Table3 -> DataSource3; На Form1: DBGrid1,DBGrid2, DBGrid3, DBEdit1, DBEdit2, DBNavigator1 Нужно чтобы при получении фокуса DBGrid1, DBEdit1, DBEdit2 получали данные из DataSource1; при получении фокуса DBGrid2, DBEdit1, DBEdit2 получали данные из DataSource2; при получении фокуса DBGrid3, DBEdit1, DBEdit2 получали данные из DataSource3; Для этого пишу следующий код и вешаю на OnEnter procedure TForm1.DBGrid1Enter(Sender: TObject); begin DBNavigator1.DataSource:=Datamodule1.DataSource1; with DBEdit1 do begin DataSource:=Datamodule1.DataSource1; DataField:='Color'; //имя поля1 таблицы1 end; with DBEdit2 do begin Datasource:=DataModule1.DataSource1; DataField:='Description' //имя поля2 таблицы1 end; end; procedure TForm1.DBGrid2Enter(Sender: TObject); begin DBNavigator1.DataSource:=Datamodule1.DataSource2; with DBEdit1 do begin DataSource:=Datamodule1.DataSource2; DataField:='Defect'; //имя поля1 таблицы2 end; with DBEdit2 do begin DataSource:=Datamodule1.DataSource2; DataField:='Description'; //имя поля2 таблицы2 end; end; procedure TForm1.DBGrid3Enter(Sender: TObject); begin DBNavigator1.DataSource:=Datamodule1.DataSource3; with DBEdit1 do begin DataSource:=Datamodule1.DataSource3; DataField:='Model'; //имя поля1 таблицы3 end; with DBEdit2 do begin DataSource:=Datamodule1.DataSource3; DataField:='Description'; //имя поля2 таблицы3 end; end; но при переключении между гридами выдает следующее сообщение --------------------------- Debugger Exception Notification --------------------------- Project ProjectExample.exe raised exception class EDatabaseError with message 'DBEdit1: Field 'Color' not found'. Process stopped. Use Step or Run to continue. --------------------------- OK Help ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 10:00 |
|
||
|
как программно переключить DBEdit от 1го источника данных к другому
|
|||
|---|---|---|---|
|
#18+
попробуй Код: plaintext 1. 2. 3. 4. или что-нибудь в этом духе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 10:38 |
|
||
|
как программно переключить DBEdit от 1го источника данных к другому
|
|||
|---|---|---|---|
|
#18+
begin DataSource:=nil; DataField:='Color'; //имя поля1 таблицы1 DataSource:=Datamodule1.DataSource1; end; у меня не получилось, но сработало begin DataField:=''; DataField:='Color'; //имя поля1 таблицы1 DataSource:=Datamodule1.DataSource1; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 13:27 |
|
||
|
как программно переключить DBEdit от 1го источника данных к другому
|
|||
|---|---|---|---|
|
#18+
Не представляю как это может работать Правильно DBEdit1.DataField:=''; {Если без этого то DBEdit1.DataField имеет старое значение и после следущей таблице такого поля может не быть. Вот вам и Field 'Зозо' not found'.} DBEdit1.DataSource:=Datamodule1.NevDataSource1{Вот теперь меняем} DBEdit1.DataField:='NevString';{И связываем с новым полем} end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2003, 23:18 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2117194]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 382ms |

| 0 / 0 |
