segunda-feira, 9 de agosto de 2010

DBGrid com Imagens

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.

Nenhum comentário:

Postar um comentário