Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.09.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
2-1275993844
DROWSY
2010-06-08 14:44
2010.09.05
Type mismatch for field "DIAMETR", expecting: Float actual BCD.


15-1273206482
12
2010-05-07 08:28
2010.09.05
С днем связи!


15-1272040004
Amoeba_
2010-04-23 20:26
2010.09.05
Антивирус McAfee парализовал десятки тысяч компьютеров


2-1275988679
И. Павел
2010-06-08 13:17
2010.09.05
Как определить, что приложение освободилось?


2-1276185461
Artemon
2010-06-10 19:57
2010.09.05
Вывод времени в QRDBText





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский