Incluir e Remover campos no field editor

29/07/2008

8

Boa tarde,

Em uma query que é montada em tempo de execução são incluídos os campos tipo, sub_tipo, categoria, data_inc e valor.

Depois a mesma query é utilizada para os campos tipo, sub_tipo, categoria e valor.

Gostaria de saber como fazer para incluir estes campos no field editor para o primeiro conteúdo da query, remover e depois incluir os outros campos da segunda consulta.

Estou utilizando o Delphi 6, se alguém tiver alguma dica agradeço.

Obrigado.

Airton


Responder

Posts

30/07/2008

Luiz Henrique

Bom dia AirooSP

Faz tempo que nao uso o D6, uso isto no D2007 com ClientDataSet(ilustrada no exemplo como CDS) para criar campo, na teoria seria mais ou menos o mesmo, talvez tenha que fazer algum ajuste:

//Basicamente vc vai criar o campo e configura-lo, na configuracao vc anexa ele ao Objeto(Query).
var
_fldinteger: TIntegerField;

begin
//Note que tera que instanciar para cada tipo de campo.
//_fldstring: TStringField e etc...
// o processo abaixo fica o mesmo, trocando o objeto campo apenas.
_fldinteger := TIntegerField.Create(Nil);
_fldinteger.fieldName := NomeDoCampo;
_fldinteger.FieldKind := fkData;
_fldinteger.DisplayLabel := NomeDoCampo;
_fldinteger.Visible := True;
//o nome do campo no objeto, nome do objeto+campo...
_fldinteger.Name := CDS.Name + _fldinteger.FieldName;
_fldinteger.Index := CDS.FieldCount;
//Aqui vc anexa o campo ao Objeto
_fldinteger.DataSet := CDS;
end;

...para deletar os campos, use Qry.FieldDefs.Clear

espero que te ajude

T+


Responder

20/08/2008

Rodolfo.pirolo

Luiz Henrique,

Fiz o que voce demonstrou porem quando abro o cds ele dá mensagem de Field ´meucampo´ not found.

Porque?

Obrigado pela atenção.

Rodolfo


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira