Incluir e Remover campos no field editor

29/07/2008

0

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


Airoosp

Airoosp

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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar