Fórum Colorir algumas celulas do dbgrid #366307

20/11/2008

0

Como posso colorir algumas celulas de uma linha do dbgrid?
Até consegui colorir mas somente consigo fazer a linha inteira ficar colorida.


Roberto Rossi

Roberto Rossi

Responder

Posts

20/11/2008

Pestana_

como assim? em qual condição você deseja colorir a celula do dbGrid?


flw.


Responder

Gostei + 0

20/11/2008

Roberto Rossi

então vou resumir para você, é um programa de escala de trabalho, então se o conteudo (texto) da célula for ´FO´ a cor de fundo da célula tem que ficar na cor vermelha, se for ´FE´ tem que ficar na cor azul, se for diferente destes dois daí é branco. Tentei seguir umas dicas manipulando o evento ondrawdatacell e ondrawcolumncell mas somente consegui colorir a linha inteira do dbgrid.


Responder

Gostei + 0

20/11/2008

Tonidavi2004

[b:67bf66cca9]Roberto Rossi[/b:67bf66cca9], vc pode seguir este exemplo:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if DBGrid1.DataSource.DataSet.SeuCampoFO.AsString = ´FO´ then
  begin
    if Column.Index = 0 then // aqui vc põe o índice da sua coluna FO
    begin
      DBGrid1.Canvas.Brush.Color := clRed;
      DBGrid1.Canvas.Font.Color  := clWhite;
    end;
  end;

  if DBGrid1.DataSource.DataSet.SeuCampoFE.AsString = ´FE´ then
  begin
    if Column.Index = 2 then // aqui vc põe o índice da sua coluna FE
    begin
      DBGrid1.Canvas.Brush.Color := clBlue;
      DBGrid1.Canvas.Font.Color  := clWhite;
    end;
  end;

  DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;



Responder

Gostei + 0

20/11/2008

Facc

De uma olhada nesse link

[url]https://www.devmedia.com.br/articles/listcomp.asp?txtsearch=segredos+do+dbgrid&tipo=0&vis=-1&site=36[/url]

tem várias video-aulas explicando o uso do dbgrid.


Responder

Gostei + 0

20/11/2008

Roberto Rossi

Deu certo... valeu!


Responder

Gostei + 0

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

Aceitar