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

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

Как в реальном времени добавить поля в таблицу? [D6, D7, Paradox]


ZHK ©   (2004-08-02 16:39:00) 

Здравствуйте, господа. Чет я совсем плохой стал, видимо. Есть два DBGrid В каждом - открытая таблица. В первом я ввожу сисок полей второго. Естественно, что при добавлении записи в первый, она сразу же должна отображаться как поле во втором. Навертел чет несуразное, вот такое:

procedure TForm2.Table1BeforeInsert(DataSet: TDataSet);
var
 I,J:Integer;
 P:Pointer;
begin
 if NGoing then Exit;
 Table1.DisableControls;
 NGoing:=True;
 try
 P:=Table1.GetBookmark;
 Table1.First;
 Table2.Edit;
 I:=1;
 while not Table1.Eof do
   begin
     if Table1.FieldByName('Size').AsInteger>0 then
        begin
          if Table2.FieldCount<=I then
             Table2.FieldDefs.Add(Table1.FieldByName('Name').AsString,ftString,Table1.FieldByName('Size').AsInteger)
          else
            begin
              Table2.Fields[I].FieldName:=Table1.FieldByName('Name').AsString;
              Table2.Fields[I].Size:=Table1.FieldByName('Size').AsInteger;
            end;
          I:=I+1;
        end;
     Table1.Next;
   end;
 Table2.UpdateRecord;
 while Table2.FieldCount>I do
   Table2.FieldDefs.Delete(Table2.FieldCount-1);
 Table1.GotoBookmark(P);
 finally
 Table1.EnableControls;
 NGoing:=False;
 end;
end;

Естественно, что ничего не добавляется. Добейте утопающего. :-)


Соловьев   (2004-08-02 17:17:00) [1]


> Есть два DBGrid В каждом - открытая таблица. В первом я
> ввожу сисок полей второго. Естественно, что при добавлении
> записи в первый, она сразу же должна отображаться как поле
> во втором. Навертел чет несуразное, вот такое:

навртел не то слово... Зачем тебе БДГрид для отображения полей? И как это при добавлении записи, она(!!!) должна быть полем во втором гриде? Или это ты переворачиваешь данные?
http://www.delphikingdom.com/treasury/nxdbgrid.htm


ZHK   (2004-08-02 16:41:00) [2]

Ну, правда с Table2.UpdateRecord;Я загнул наверное. Я ж записей-то не добавляю... В общем выкинул я ее, тем более, что ошибку выдает. :-)


Наверх

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