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

Вниз

Как в реальном времени добавить поля в таблицу?   Найти похожие ветки 

 
ZHK   (2004-08-02 16:39) [0]

Здравствуйте, господа. Чет я совсем плохой стал, видимо. Есть два 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;

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


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

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


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


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

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



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.055 c
4-1090061970
Cara
2004-07-17 14:59
2004.08.29
Widestring to String


4-1089758810
ElRaki
2004-07-14 02:46
2004.08.29
Имя файла, загрузившего DLL


1-1092578584
Makssim
2004-08-15 18:03
2004.08.29
Как получить сегодняшнюю дату?


1-1092653521
максим
2004-08-16 14:52
2004.08.29
Открыть файл на расшереном под паролем диске


3-1091540403
Labert
2004-08-03 17:40
2004.08.29
как раскрасить строки в TDBGrid?