Fórum renomear o valor de um campo no dbgrid #327761

18/08/2006

0

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

Responder

Posts

18/08/2006

Tnaires

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


Responder

Gostei + 0

21/08/2006

Pestana

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


Responder

Gostei + 0

22/08/2006

Tnaires

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


Responder

Gostei + 0

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

Aceitar