Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по table и dbgrid! Помогите срочно плз!! [D6, IB5.x, Paradox]


digester ©   (2003-02-22 11:54:00) 

Ситуация такая: есть table1 и dbgrid, связанные друг с другом datasource на первой форме. На второй форме dbedit и dbmemo. Нажимая на первой форме кнопку "добавить" -> выскакивает вторая форма(с dbedit"om и memo), вводя какую-нить инфу и нажимая "ОК", эта информация отображается на первой форме только в 1-ой строке(сразу под индексами) :((( и постоянно перезаписывается.Как сделать чтобы, после нажатия "OK" в table1 заносилась информация из dbedit и dbmemo 2-ой формы, в последующие строки table1(что на 1-ой форме).??????
Заранее спасибо! Жду ответа.


kaif   (2003-02-22 22:23:00) [1]

Наилучшее решение такое:

В обработчик OnClose второй формы вписываешь
with Form1.table1 do
if State in [dsEdit, dsInsert] then
Cancel;
//это для того, чтобы при любом способе закрытия второй формы не остаться в режиме редактирования.

В обработчик OnClick кнопки OK вписываешь
with Form1.table1 do
if State in [dsEdit, dsInsert] then
begin
Post;
self.Close;
end;

//для того, чтобы сохранить изменения и закрыть вторую форму только в случае, если это удалось.

На второй форме еще сделай кнопку Cancel со свойством
Cancel = True и
ModalResult = mrCancel

Тогда она без обработчика закроет окно.

Создай обработчик table1.AfterInsert и назначь его одновременно событию table1.AfterEdit
В этот обработчик впиши:

with TForm2.Create(nil) do
try
ShowModal;
finally
Free;
end;

//Тогда при любом добавлении или редактировании таблицы появится форма Form2.

Далее в обработчик кнопки "Добавить" впиши
table1.Insert или table1.Append (по вкусу)
//Append добавляет новую строку в конец набора, Insert - перед текущей записью.

Все. Хорошо бы еще кнопки "Удалить" и "Изменить" добавить в Form1... :))


Романов Р.В.   (2003-02-22 12:00:00) [2]

Append, AppendRecord?


Anatoly Podgoretsky   (2003-02-22 11:57:00) [3]

А повнятней


Наверх

Титульная страница Поиск, карта сайта Написать письмо