Campo calculado - Aparece apanas o declarado ???

Delphi

23/08/2007

Amigos, fiz um campo calculado em runtime, até blz, porem quando abro a minha query tem apenas o mesmo, desaparecendo os demais, são +/- uns 10

fFloat              := TFloatField.Create(Self);
       fFloat.FieldName    := ´Calc´;
       fFloat.Name         := ´calcaca´;
       fFloat.FieldKind    := fkCalculated;
       fFloat.Alignment    := taRightJustify;
       fFloat.DisplayWidth := 10;
       fFloat.DataSet      := dmr.Itens_est;
       fFloat.Visible      := true;
       fFloat.SetFieldType(ftFloat);


A minha query os campos não são criados fixo, isto e apenas jogo a mesma lá e dependendo da tabela ela faz o serviço, utilizo o ibquery


Sremulador

Sremulador

Curtidas 0

Respostas

Luciano_f

Luciano_f

23/08/2007

Meu amigo faça o seguinte.

var
i: Integer;
vField: TField;
begin
CDS1.DisableControls;

if CDS1.Active then CDS1.Close;

CDS1.CommandText := ´Select * from tabela´;

CDS1.Fields.Clear;
CDS1.FieldDefs.Clear;
CDS1.FieldDefs.Update;

for i := 0 to CDS1.FieldDefs.Count - 1 do
if CDS1.FindField(CDS1.FieldDefs[i].Name) = nil then
CDS1.FieldDefs.Items[i].CreateField(CDS1);

// aqui voce pode criar quantos campos calculados quiser.
if Assigned(vField) then vField.Free;
vField := TIntegerField.Create(CDS1);
vField.Name := ´Result_ID´;
vField.FieldName := ´ID´;
vField.DisplayLabel := ´Linha´;
vField.Calculated := True;
vField.DataSet := CDS1;
vField.Index := 0;
CDS1.Open;


GOSTEI 0
POSTAR