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

Вниз

Динамически-создаваемые поля.   Найти похожие ветки 

 
DROWSY   (2010-06-08 15:01) [0]

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


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

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


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

Спасибо!


 
DROWSY   (2010-06-08 17:18) [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;


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

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


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

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



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
15-1275375624
12
2010-06-01 11:00
2010.09.05
Хочу странного - вертикальный dbgrid. Есть такой?


2-1276076418
user_online
2010-06-09 13:40
2010.09.05
Как зафиксировать данные в поле Edit


2-1275994871
DROWSY
2010-06-08 15:01
2010.09.05
Динамически-создаваемые поля.


15-1275481386
bss
2010-06-02 16:23
2010.09.05
Компонент аля TEdit с возможностью раскраски отдельных символов


6-1225619007
XeON
2008-11-02 12:43
2010.09.05
Порт-Маппер на Delphi 10 (Turbo)