renomear o valor de um campo no dbgrid

Delphi

18/08/2006

blz amigos,

queria saber como faço para o campo de uma dbgrid exiber outro valor? ex.: tenho a tabela cliente que contenha o campo sexo, neste campo contém valores ´M´ ou ´F´, momento de uma consulta o campo sexo no dbgrid exibiria ´Masculino´ ou ´Feminino´ em vez de exibir ´M´ ou ´F´

já tentei de varias formas de resolver este problema, mas não estou conseguindo, alguém podereia me ajudar?

agradeço
Pestana.


Pestana

Pestana

Curtidas 0

Respostas

Tnaires

Tnaires

18/08/2006

Olá
Use o evento OnGetText do campo correspondente à coluna do DBGrid
procedure TForm1.Query1SexoGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  if Sender.AsString = ´M´ then
    Text := ´Masculino´
  else
    Text := ´Feminino´;
end;

Abraços


GOSTEI 0
Pestana

Pestana

18/08/2006

está query está sendo criado em run-time, como utilizo este evento OnGetText?


GOSTEI 0
Tnaires

Tnaires

18/08/2006

Vc pode criar uma procedure em tempo de desenvolvimento na região do código que fica entre o cabeçalho da classe e a palavra [b:c66f3eefaf]private[/b:c66f3eefaf]. Essa procedure precisa ter o mesmo cabeçalho do evento GetText.
Exemplo:
type
  TForm1 = class(TForm)
    ...
    ...
    // Aqui vc escreve a procedure
    procedure OnGetTextSexo(Sender: TField; var Text: String; DisplayText: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

Dê um Ctrl + Shift + C e escreva o corpo da procedure.
Depois que vc criar a query e os seus campos, vc aponta a procedure q vc criou pro evento GetText do campo:
Query1Campo.OnGetText := OnGetTextSexo;

Abraços


GOSTEI 0
POSTAR