Форум: "Базы";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];
ВнизDBEdit в фокусе Найти похожие ветки
← →
panov (2001-12-24 22:56) [7]>Oleg_K (23.12.01 00:22)
SelectedEdit.DataSource.Edit;
заменить на
SelectedEdit.DataSource.DataSet.Edit;
К сожалению, при таком способе не удастся избежать побочных эффектов("Почему при переводе БД в режим редактирования (Table.Edit) очищаются поля заполненные ранее? Как этого можно избежать, оставив возможность вставки?").
Я бы не стал пользоваться TDBEdit, так как необходимо изменения в таблицу вносить только после выбора всех полей.
Мне кажется, лучше TEdit использовать.
Удобно присвоить для TEdit Name=имя соответствующего поля. При создании формы, на которой лежат эти TEdit заполнять все TEdit. А после окончания редактирования вносить изменения в таблицу. Причем не обязательно даже проверять, изменилось ли поле - просто заменять все поля в таблице.
В форме, на которой лежат TEdit вводим
var
tmpEdit:
Каждому TEdit назначаем наше единственное PopupMenu.
В этой же форме для PopupMenu в обработке OnPopup пишем:
procedure TForm.PopupMenu1Popup(Sender: TObject);
begin
tmpEdit := TEdit(PopupMenu1.PopupComponent);
end;
В последнем DBGrid(в котором выбираются данные для TEdit), пусть этот DBGrid называется DBGrid25 пишем:
tmpEdit.Text := DBGrid25.DataSource.DataSet.FieldByName("поле").AsString;
"поле" - имя поля, в котором находится значение для выбора.
-----------------------------
Если по этому коду возникнут вопросы, то пиши опять по почте, постараюсь быстро отреагировать...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c