Exibição de dados no DBGrid

Delphi

11/08/2005

Pessoal, tenho uma aplicação em que exibo os dados de uma tabela num DBGrid. Um dos campos dessa tabela é Integer e o valor desse campo pode variar de 0 a 3. Gostaria que a coluna do DBGrid responsável pela exibição dos dados desse campo Integer, em lugar de mostrar os números de 0 a 3, mostrasse textos. Ex.: Quando o valor for ´0´, o DBGrid irá mostrar ´AAA´ na conluna Integer; Quando o valor do campo for ´1´, será mostrado ´BBB´; quando for ´2´ irá mostrar ´CCC´ e quando for ´3´ irá mostrar ´DDD´.

Imagino que deva ser feito um tipo de máscara talvez...
Alguém tem idéia de como resolver isso?

Valeu
wbb


Wbb

Wbb

Curtidas 0

Respostas

Rjun

Rjun

11/08/2005

Crie um campo calculado. No evento OnCalcFields você atribiu para o campo o valor que você deseja. Na grade você exibe o campo calculado.


GOSTEI 0
Wbb

Wbb

11/08/2005

Fala Rjun
Não implementei o que você indicou, mas você me deu uma idéia de como resolver usando isso. Criei uma nova tabela contendo os valores que eu precisava que fossem exibidos e adicionei um campo calculado, do tipo Lookup. Depois adicionei um novo DataSet para a nova tabela e apontei o campo para o valor que eu precisava (na nova tabela).

Outra opção mais simples, já que existe uma nova tabela, é unir as duas por meio de INNER JOIN e exibir no DBGrid apenas o que eu preciso.

Valeu


GOSTEI 0
Fievel

Fievel

11/08/2005

Olá amigo, você também poderia usar o CASE na sua SQL.

Saiba mais em:
[url]http://www.sqlmagazine.com.br/Colunistas/LucianoPimenta/02_casefirebird.asp[/url]


GOSTEI 0
Joaoshi

Joaoshi

11/08/2005

Outra possibilidade seria usar o evento OnGetText da Field

if Campo = 1 then Text := ´AAA´;

Espero ter ajudado.


GOSTEI 0
POSTAR