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

Вниз

Копирование TField   Найти похожие ветки 

 
Gilk ©   (2003-11-19 19:29) [0]

Как скопировать TField"ы из одного DataSet в другой в RunTime


 
sniknik ©   (2003-11-19 19:44) [1]

попробуй FieldDefs.Assign()


 
Vlad ©   (2003-11-19 19:48) [2]

Нда... И что с таким датасетом потом делать ?


 
Anatoly Podgoretsky ©   (2003-11-19 20:00) [3]

Vlad © (19.11.03 19:48) [2]
Это самая важная часть, может и не надо копировать.


 
sniknik ©   (2003-11-20 01:24) [4]

Vlad © (19.11.03 19:48) [2]
делаеш CreateDataSet и получаеш чистый датасет оторванный от данных, удобнее работать с таким датасетом чем со стринггридом к примеру.


 
Vlad ©   (2003-11-20 10:25) [5]


> sniknik © (20.11.03 01:24) [4]

У TDataSet нет метода CreateDataSet (не путай с ClientDataSet или ADODataSet). С ним нельзя работать в отрыве от БД.


 
-=GUEST=-   (2003-11-20 15:54) [6]

Допустим есть два датасета NewDataSet и TempDataset.
Копирование поля по имени "MyField" из TempDataset в NewDataSet

AddField(NewDataSet,TempDataset.FieldByName("MyField"));

procedure AddField(DataSet : TDataSet; Field : TField);
var
NewField : TField;
begin
//В зависимости от типа поля создаем соотв класс
if Field.ClassName = "TSmallintField" then NewField := TSmallIntField.Create(self)
else if Field.ClassName = "TDateField" then NewField := TDateField.Create(self)
else if Field.ClassName = "TStringField" then NewField := TStringField.Create(self) then
begin
NewField := TStringField.Create(self);
NewField.Size := Field.Size; //Не забудь, что некоторые типы имеют доп. сво-ва, кот. тоже нужно копировать
end;
...
Перебираем все возможные классы
...
NewField.FieldName := Field.FieldName;
NewField.Name := DataSet.Name + Field.FieldName;
NewField.DisplayLabel := Field.DisplayLabel;
NewField.DataSet := DataSet; //Эта строка и реализует копирование
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
1-36692
Ил_204
2003-12-02 18:36
2003.12.12
PChar, скопировать подстроку


6-36788
Yurko
2003-10-13 10:56
2003.12.12
Список открытых ресурсов.


8-36767
Zorik
2003-08-14 11:10
2003.12.12
как отобразить 3D карту поверхности


1-36743
Destructor
2003-12-03 10:41
2003.12.12
Использование элементов управления в StringGrid


1-36611
mynameis
2003-12-01 15:04
2003.12.12
Перемещение мыши по десктопу из моей программы.