campo virtual dbgrid

Delphi

27/06/2013

boa tarde, estou precisando criar um campo virtual no dbgrid, o mesmo precisa ter o seguinte comportamento
digito o valor e pego o mesmo pra realizar um outro cálculo, tentei criar pela opção new field botão direito no objeto query, mas não funciona como data, calculado etc, como fazer isso?
Desde já agradeço!
Rodrigo Pereira

Rodrigo Pereira

Curtidas 0

Respostas

Dms Logistica

Dms Logistica

27/06/2013

Boa tarde Rodrigo..

Como você verificou, realmente não da para tentar manipular um campo calculado direto na query que esta ligada a uma BASE.

Uma solução, não sei se seria viável para você, seria usar um clientDataset (CDS) como tabela de memoria.

Você cria os campos no field editor do CDS, abre ele com um createdataset, da os appends nele com os registros da tabela principal, ai com ele (cds) ligado em uma grid você conseguiria digitar o valor, e logo em seguida fazer o calculo necessário.

Mas note que fazendo isso você somente teria tudo enquanto estivesse na tela, assim que o CDS fosse desligado tudo se perderia.

Caso você precise guardar os valores, eu sugeriria percorrer todos os registros do CDS e dar um update na tabela
principal pelo id que une as duas tabelas.

Eu espero ter dado alguma luz a ti.. :)

Qualquer duvida ou esclarecimento é só perguntar.
GOSTEI 0
Rodrigo Pereira

Rodrigo Pereira

27/06/2013

boa noite, fiz a parada usando o evendo ongettext e onsettext, de qualquer forma obrigado pela atenção!!!!
GOSTEI 0
José

José

27/06/2013

Tendo entendido que a duvida foi solucionada. Estou marcando este tópico como concluído.
Fique a vontade para abrir novos.
GOSTEI 0
POSTAR