Вопрос № 103339: Уважаемые эксперты, возник следующий вопрос
есть 2 ClientDataSet
один с данными другой без данных, как в этом пустом датасете сделать тот же набор полей что и в датасете с набором данных.
и второй вопрос в догонку, как вернуть ...
Вопрос № 103.339
Уважаемые эксперты, возник следующий вопрос
есть 2 ClientDataSet
один с данными другой без данных, как в этом пустом датасете сделать тот же набор полей что и в датасете с набором данных.
и второй вопрос в догонку, как вернуть тип поля в датасете.
Отправлен: 25.09.2007, 14:50
Вопрос задал: Кэр Лаэда (статус: Практикант)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Alexey G. Gladenyuk
Приветствую всех читателей рассылки.
На этот вопрос ответ был найден самим отправителем - экспертом Портала Кэр Лаэда. Решение приводится полностью без редактирования.
function TObjectProp.GetDataFromRange(_d: TClientDataSet): Variant;
var _od:TClientDataSet;
i,j:Integer;
begin
_od:=TClientDataSet.Create(nil);
for j := 0 to _d.FieldCount-1 do
_od.FieldDefs.Add(_d.Fields.Fields[j].FieldName,_d.Fields.Fields[j].DataType,_d.Fields.Fields[j].Size);
_od.CreateDataSet;
for I := 0 to _d.RecordCount - 1 do
begin
_od.Edit;
_od.Insert;
for j := 0 to _d.FieldCount - 1 do
begin
_od.Fields.Fields[j].Value:=_d.Fields.Fields[j].Value;
end;
_od.Post;
_d.Next;
end;
result:=_od.Data;
FreeAndNil(_od);
end;
--------- Если не знаешь, что делать - делай шаг вперед.
Ответ отправил: Alexey G. Gladenyuk (статус: *Мастер-Эксперт) Россия, Сегежа Тел.: +7 911 402 1179 WWW:Портал профессионалов RusFAQ.ru ICQ: 279076419 ---- Ответ отправлен: 25.09.2007, 19:17 Оценка за ответ: 5 Комментарий оценки: спасибо большое