Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Mostrar dados no Dbgrid dependendo do Tipo de pg


robinhocne

Pergunta

Bom estou fazendo assim para que quando o meu pagamento tiver o tipo 1 para entrada, 0 para saida ....

Mas ele mostra só tudo "E", estou fazendo isso no evento afteropen da minha Ibquery que busca os dados:

procedure TFrmCai.QryCaixaAfterOpen(DataSet: TDataSet);
begin
  inherited;
  TFloatField(QryCaixa.FieldByName('Recebido')).DisplayFormat := 'R$ #,##0.00';

  If QryCaixa.FieldByName('Tipo').AsInteger =0 then
     begin
        TFloatField(QryCaixa.FieldByName('Tipo')).DisplayFormat := 'S';
     end
     else
  If QryCaixa.FieldByName('Tipo').AsInteger =1 then
     begin
        TFloatField(QryCaixa.FieldByName('Tipo')).DisplayFormat := 'E';
     end
     else
  If QryCaixa.FieldByName('Tipo').AsInteger =2 then
     begin
        TFloatField(QryCaixa.FieldByName('Tipo')).DisplayFormat := 'S';
     end
     else
  If QryCaixa.FieldByName('Tipo').AsInteger =3 then
     begin
        TFloatField(QryCaixa.FieldByName('Tipo')).DisplayFormat := 'SC';
     end
     else
  If QryCaixa.FieldByName('Tipo').AsInteger =4 then
     begin
        TFloatField(QryCaixa.FieldByName('Tipo')).DisplayFormat := 'SC';
     end
     else
  If QryCaixa.FieldByName('Tipo').AsInteger =5 then
     begin
        TFloatField(QryCaixa.FieldByName('Tipo')).DisplayFormat := 'EC';
     end;
end;

mas o que eu estou fazendo de errado ?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
porque voce não usa um select ?

Select * from QryCaixa

where tipo = 1

OBS: o evento QryCaixaAfterOpen só é executado depois que os dados já foram carregados

abraço

Sim Jhonas isso eu sei, fiz uma instruçao dentro de um procedimento e quando eu abro a janela já executo esse procedimento que faz o select no onshow.

Link para o comentário
Compartilhar em outros sites

  • 0

If QryCaixa.FieldByName('Tipo').AsInteger =0 then
     begin
        TFloatField(QryCaixa.FieldByName('Tipo')).DisplayFormat := 'S';
     end

Não sei se entendi direito, mas voce quer alterar o Campo " Tipo " que é um inteiro para mostrar caracter ?

porque voce não cria um campo de controle tipo caracter para isto ? simplificaria muito a sua pesquisa.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
If QryCaixa.FieldByName('Tipo').AsInteger =0 then
     begin
        TFloatField(QryCaixa.FieldByName('Tipo')).DisplayFormat := 'S';
     end

Não sei se entendi direito, mas voce quer alterar o Campo " Tipo " que é um inteiro para mostrar caracter ?

porque voce não cria um campo de controle tipo caracter para isto ? simplificaria muito a sua pesquisa.

abraço

Sim, já até pensei, mas esse programa meu já está rodando em 4 clientes e teria muita coisa para mudar, e por isso que queria ver aqui se tem como, só para na hora que vizualiza os dados no Dbgrid

Link para o comentário
Compartilhar em outros sites

  • 0

If QryCaixa.FieldByName('Tipo').AsInteger =0 then

begin

TFloatField(QryCaixa.FieldByName('Tipo')).DisplayFormat := 'S';

end

Não sei se entendi direito, mas voce quer alterar o Campo " Tipo " que é um inteiro para mostrar caracter ?

Sim, já até pensei, mas esse programa meu já está rodando em 4 clientes e teria muita coisa para mudar, e por isso que queria ver aqui se tem como, só para na hora que vizualiza os dados no Dbgrid

acho que não será possivel, pois ao compilar o programa voce terá este erro:

Cannot assign to a read-only property

melhor é criar outro campo .. pode ser até tabalhoso para voce agora, mas vai simplificar muito depois

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

If QryCaixa.FieldByName('Tipo').AsInteger =0 then

begin

TFloatField(QryCaixa.FieldByName('Tipo')).DisplayFormat := 'S';

end

Não sei se entendi direito, mas voce quer alterar o Campo " Tipo " que é um inteiro para mostrar caracter ?

Sim, já até pensei, mas esse programa meu já está rodando em 4 clientes e teria muita coisa para mudar, e por isso que queria ver aqui se tem como, só para na hora que vizualiza os dados no Dbgrid

acho que não será possivel, pois ao compilar o programa voce terá este erro:

Cannot assign to a read-only property

melhor é criar outro campo .. pode ser até tabalhoso para voce agora, mas vai simplificar muito depois

abraço

Ok, Jhonas mas acabei mesmo mudando todos ele para char e gravando com letras inicias, pois é bem melhor mesmo, pois até para mudar nos meus clientes eu fiz um programa auxiliar para checar os numeros e criar outro campo e substituir pela letra e apaguei o campo normal tipo em numerico.

pode fechar esse tópico.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...