Página 1 de 1
GRID COLORIDO
Enviado: Janeiro 26th, 2016, 11:36 am
por fabioazevedo
Bom dia a todos.
Gostaria da ajuda de voces preciso fazer um grid que fique colorido de acordo com a situação do titulo a pagar, verde ok, amarelo, no vencimento e vermelho vencido.
desde ja agradeco a atenção
Re: GRID COLORIDO
Enviado: Fevereiro 2nd, 2016, 4:58 pm
por Silvair
Utilizo essa função em um programa e é mto útil, essa dica foi tirada do próprio manual do usuário, espero ter ajudado.
Como posso deixar um Grid de Consulta/Relacionamento “Zebrado” ?
Para criar um efeito visual do tipo "Zebrado" no Grid de Consulta/Relacionamento, utilize o evento:
"OnDrawColumnCell".
Você poderá utilizar este recurso em qualquer formulário que possui um
"Grid de Consulta/Relacionamento", faça a edição do evento
"OnDrawColumnCell" na janela "Propriedades (Object Inspector)". Faça a
codificação do evento conforme o exemplo abaixo.
Codificação do evento "OnDrawColumnCell":
{utilize o "var" para declarar variáveis}
begin
{codificação...}
with TDBGrid(Sender) do
if odd(DataSource.DataSet.RecNo) then //Se for número impar
begin
Canvas.Brush.Color := $00DFDF00; //Cor da linha da linha
Canvas.FillRect(Rect);
DefaultDrawDataCell(Rect,Column.Field,State);
if gdFocused in state then
begin
Canvas.Brush.Color := clNavy; // Cor de seleção
Canvas.FillRect(Rect);
DefaultDrawDataCell(Rect,Column.Field,State);
end;
end;
end;
Nota:
A cor da linha de destaque é definido em: Canvas.Brush.Color, no
exemplo foi utilizado a cor $00DFDF00, outras cores podem ser utilizadas,
exemplos: clBlue, clRed, clGreen, etc.
O destaque é por linha, para definir o destaque por coluna faça a substituição da
condição:
if odd(DataSource.DataSet.RecNo) then
por
if odd(DataCol) then
Silvair
Formiga-MG
Re: GRID COLORIDO
Enviado: Fevereiro 2nd, 2016, 5:37 pm
por fabioazevedo
Obrigado pela ajuda !!!
Re: GRID COLORIDO
Enviado: Fevereiro 3rd, 2016, 2:38 pm
por Silvair
Fábio, ontem quando responde sua dúvida eu confundi o assunto, pensei em uma coisa e responde outra.
Vou colocar um exemplo que tenho em um programa, aí vc pode adaptar ao seu.
Vc abre o formulário que deseja ficar colorido, clique na aba "Consulta" e depois clique no grid, após isso vai em propriedades o item "OnDrawDataCell"
{utilize o "var" para declarar variáveis}
begin
{codificação...}
If TabGlobal.DTFD_Controle_Atendto.Consulta_Marcada.Conteudo = 'S' then
begin
gridconsulta.Canvas.Font.Color := clBlue;
Gridconsulta.DefaultDrawDataCell(Rect, Field, State);
end;
If TabGlobal.DTFD_Controle_Atendto.Consulta_Marcada.Conteudo = 'N' then
begin
gridconsulta.Canvas.Font.Color := $000080FF;
Gridconsulta.DefaultDrawDataCell(Rect, Field, State);
end;
end;
Esse é um exemplo que tenho de consultas marcadas, Sim(azul) ou Não(Laranja)
Abraço
Silvair
Formiga-MG