DBGRID DELPHI - Deixar uma determinada linha do DBGrid com uma cor diferente(não é zebrado).

Delphi

02/02/2019

Como faço para deixar uma determinada linha do DBGrid com cor diferente, devido a uma pendência de um registro pendente, por exemplo, de falta de pagamento.
Ex. campo_pagamento.value=' false';
Adailso Cosme

Adailso Cosme

Curtidas 0

Respostas

Hélio Devmedia

Hélio Devmedia

02/02/2019

Olá Adailson

Você precisa no DBGrid usar o evento OnDrawnColumnCell para reaproveitar os parâmetros dele. Veja

procedure TfrmQryNotasEmitidas.JvDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: GridDrawState);
begin
    if campo_pagamento.value=' false' then
    beging
         if gdSelected in State then  //se a linha está celecionada?
         begin
             dbGrid.Canvas.Font.Color  := clwhite;
             dbGrid.Canvas.Font.Style  := [fsBold];
             dbGrid.Canvas.Brush.Color := clred;
         end
         else
         begin
            dbGrid.Canvas.Font.Color := clBlack;
            dbGrid.Canvas.Brush.Color := //$00C1C1FF;
         end;
    dbGrid.Canvas.FillRect(Rect);
   dbGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State)
end;


Espero ter ajudado
GOSTEI 0
Adailso Cosme

Adailso Cosme

02/02/2019

Boa Noite amigo, deu erro de sintaxe e nao consigo descobrir....
GOSTEI 0
Alberto

Alberto

02/02/2019

Linha 4 deve ser: Begin
GOSTEI 0
POSTAR