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

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

Динамически-создаваемые поля. [D6, XP]


DROWSY ©   (2010-06-08 15:01:00) 

Если добавлять поле типа fkLookup или fkCalculated в Fields динамически, то как правильно это сделать?
В обработчике события DataSet.BeforeOpen - добавить, в DataSet.AfterClose - удалить, или как-то иначе?


DROWSY   (2010-06-08 17:53:00) [1]

Большое спасибо, Медвежонок Пятачок, за ликбез! :)


Медвежонок Пятачок   (2010-06-08 17:19:00) [2]

сначала филддефс.апдейт.
затем добавляем туда вычисляемые поля.
затем цикл и создание тфилд'ов
потом открываем


DROWSY   (2010-06-08 17:18:00) [3]

Сделал так, верно?

procedure TdmMills.ibMillsBeforeOpen(DataSet: TDataSet);

var i : integer;
   look_fld : TStringField;
begin
 DataSet.Fields.Clear;
 DataSet.FieldDefs.Update;

 for i := 0 to DataSet.FieldDefs.Count -1 do
   DataSet.FieldDefs[i].CreateField(DataSet);

 look_fld := TStringField.Create(DataSet);
 look_fld.Size := 25;
 look_fld.FieldName := 'TYP_STR';
 look_fld.FieldKind := fkLookUp;
 look_fld.KeyFields := 'TYP';
 look_fld.LookupDataSet := ibMills_Type;
 look_fld.LookupKeyFields := 'CODE';
 look_fld.LookupResultField := 'TYPE_STR';
 look_fld.DataSet := DataSet;
end;


DROWSY   (2010-06-08 17:11:00) [4]

Спасибо!


Медвежонок Пятачок   (2010-06-08 15:10:00) [5]

манипуляции с TFieldDefs до открытия датасета.


Наверх

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