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

3. No evento OnDrawColumnCell do seu DBGrid escreva o seguinte código:
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

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


fevereiro 11th, 2010
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!