Fórum Selecionando campos Booleanos e dando uma expressão! #223563

31/03/2004

0

Parece esquisito mas é simples!

Tenho uma banco de dados com um campo booleano e quando faço uma consulta e ligo a um DBgrid, o campo aparece como false ou true.
Ate beleza, so que por exemplo:
O campo é comissão (boolean): e aparece false!!
Eu gostaria de mudar para ´sem comissão´ e o true para ´Comissão´!

Como faço isso via comando de consulta SQL???


Jack_loco

Jack_loco

Responder

Posts

31/03/2004

Paullus

Cara... eu nunca consegui via SQL, não. O máximo que eu consegui foi ´enganar´ o DBGrid. Use o código abaixo.

[b:348a7bec36]SE[/b:348a7bec36] você conseguir via SQL me manda um e-mail. Tenho 3 sistemas aqui feitos do jeito que está aí embaixo.

No evento OnDrawColumnCell do seu DBGrid coloque o código abaixo

  if (Column.FieldName = ´Comissao´) then
  begin
    with DBGrid(Sender).Canvas do
    begin
      FillRect(Rect);
      if not Column.Field.IsNull then
      begin
        if Column.Field.AsBoolean then
          TextOut(Rect.Left + 2, Rect.Top + 2, ´SIM´)
        else
          TextOut(Rect.Left + 2, Rect.Top + 2, ´NÃO´)
      end;
    end;
  end;


Se for verdadeiro ele escreve SIM, se for falso ele escreve NÃO e se for nulo não aparece nada. Aí você arruma do jeito que te atender melhor.
:wink:


Responder

Gostei + 0

31/03/2004

Gandalf.nho

Use a propriedade DisplayValues dos campos do tipo TBooleanField.


Responder

Gostei + 0

31/03/2004

Paullus

Ah... é verdade. Para quem trabalha com campos estáticos existe a possibilidade de se usar a propriedade que o [b:f802ceacd5]gandlf.nho[/b:f802ceacd5] falou.

DisplayValues=´SIM;NÃO´

Aí é só trocar pra ficar do jeito que você quer. É porque eu não gosto de usar nada estático. Eu sempre acesso meus bancos de dados por FieldByName. 8)


Responder

Gostei + 0

02/04/2004

Jack_loco

Boa alternativa, paullus!

Mas vou continuar pesquisando, caso encontre algo eu repasso a informação!


Responder

Gostei + 0

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

Aceitar