Вниз
Скачать: CL | DM;

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

← →
PAI   (2005-08-09 16:32) [0]

Что-то никак не удаётся создать динамически Lookup -поле.
Это вообще возможно, или как..?


← →
sniknik ©   (2005-08-09 16:39) [1]

однозначно.
вообще созданое в "дизайне" в итоге тот же самый "рантаймовский" код, но сделанный за тебя дядей Борландом.


← →
hope   (2005-08-17 07:45) [2]

Динамическое создание полей, вообще не особо тривиально, особенно если вы пользуетесть запросами или клиентскими датасетами. Дело в том что список полей Fields - заполняется либо из FieldDefs либо пользователем. Первый случай присходит тогда и только тогда, когда вы сами не вносите изменеий в Fields, но и FieldDefs заполняется полями автоматически, только если вы его сами не изменили.
Поэтому, если вам надо добавить поле в набор данных, особенно Lookup (потому как при его создании производится проверка наличи\ всег полей, на которые он ссылается) то у вас только один вариант - ЗАПОЛНИТЬ Fields самостоятельно до открытия набора.
Самый простой способ:

With DataSet do
begin
 FieldDefs.Update;
 FieldDefs.Add(Name + "MyFieldName", ftString{например});
 for I := 0 to FieldDefs.Count-1 do
  FieldDefs[I].CreateField(FieldDefs.Dataset);

 with FieldByName("MyFieldName") do
 begin
   FieldKind := fkLookup;
   KeyFields := {список ключевых полей основного набора};
   LookupDataSet := {какой-то датасет};
   LookupKeyFields := {список ключевых полей LookupDataset};
   LookupResultField := {имя отоюражаемого поля из LookupDataset};
 end;
 Open;
end;



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.041 c
6-1118236779
slaga
2005-06-08 17:19
2005.10.02
Как узнать подключен ли компьютер к локальной сети


6-1117787605
Gromada
2005-06-03 12:33
2005.10.02
Как я могу с помощью дельфи узнать IP моего компа??


1-1126437466
Igor_thief
2005-09-11 15:17
2005.10.02
RAVE reports


14-1126381715
by
2005-09-10 23:48
2005.10.02
Что почитать по Java, на чем писать?


1-1126665351
qwe
2005-09-14 06:35
2005.10.02
StringGrid




   Наверх