DBGrid com Imagens

By Elton Conz

Esta é uma dica muito simples mas que produz um efeito muito legal.

Já encontrei vários programas que, ao mostrar determinados dados em um DBGrid, pecavam pela falta de clareza. Por exemplo: Para mostrar se um cadastro estava ativo ou não, apresentava no grid uma coluna que era preenchida com Sim / Não.  Errado? Não. Mas você concorda que pode ficar melhor não é?

Então ai vai minha dica para aperfeiçoar suas aplicações:

1. Estou partindo do ponto em que você ja tem seu ClientDataSet vinculado a um DataSource o qual ja se encontra vinculado a um DBGrid. No exemplo o ClientDataSet se chama TabAux e o DBGrid se chama Grade.

2. Insira um TImageList no seu form e adicione duas imagens.

Você pode baixar as imagens clicando aqui

TImageList

3. No evento OnDrawColumnCell do seu DBGrid escreva o seguinte código:

if Column.Field=TabAuxATIVO then
begin

Grade.Canvas.FillRect(Rect);

// Desenha o Quadrado
ImageList1.Draw(Grade.Canvas,Rect.Left+10,Rect.Top+1,0);

// Desenha o check sobre o quadrado quando ativo = ‘S’
if TabAuxATIVO.Text=‘S’ then // Cadastro está ativo
ImageList1.Draw(Grade.Canvas,Rect.Left+10,Rect.Top+1,1);
end;

4. O Resultado ficará assim

DBGrid com Imagem

Espero que aproveite esta dica. Ela é simples, mas da um toque mais profissional para a sua aplicação.


,

categoriaDBExpress, Dicas, TCanvas commento5 Comments datafevereiro 11th, 2010

About...

This author published 3 posts in this site.
Desenvolvedor

Share

FacebookTwitterEmailWindows LiveTechnoratiDeliciousDiggStumbleponMyspaceLikedin

Comments


Deivid de castro monteiro
setembro 2nd, 2010

Oi estou começando a programar em delphi e queria saber se vc pode me mandar algum material que me ensine a utilizar o DB grid e como fazer para o Delphi se conectar com o mysql

obrigado


Deivid de castro monteiro
setembro 2nd, 2010

Eu estou com problemas com essa ferramenta DB Grid


Yasmin Kathellyn
janeiro 12th, 2011

Olá estou com um erro e gostaria de saber se você pode me ajudar…
Unknown picture file extension (.)
quando tento abrir minha frm clientes da esse erro e quando tento navegar pelo DBNavigator…
sempre cai na mesma linha de comando

procedure Tfrmfunc.FormShow(Sender: TObject);
begin
dm_dados.tbl_cliente.open;
dm_dados.tbl_bairro.open;
dm_dados.tbl_cidade.Open;
dm_dados.tbl_Logradouro.Open;
dm_dados.tbl_Cargo.open;
foto.Picture.LoadFromFile(dm_dados.tbl_clienteCLI_FOTO.Value);


tresloukadu
janeiro 13th, 2011

Olá, Yasmin você ativou no código o suporte a jpeg? O VCL não vem com o jpg habilitado por padrão.


José Aparecido
março 19th, 2011

OK, muita boa a dica… valeu!

Leave a comment