DBGrid - pintando dentro |
Top Previous Next |
|
Como colorir uma unica celula de uma DBGrid, mas acabei descobrindo um modo. A quem interessar, basta colocar o seguinte codigo, no evento DrawColumnCell, da DBGrid:
procedure TFormCadColetas.DBGrid1DrawColumnCell begin if (Column.Field.FieldName = 'VALUNIT') then // Coloque aqui a sua condicao begin if QueryColetaVALUNIT.Value = FMenorPreco then begin DBGrid1.Canvas.Brush.Color := clAqua; DBGrid1.Canvas.Font.Color := clWindowText; DBGrid1.Canvas.FillRect(Rect); DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column,State); end; end; end;
No meu caso, eu estava querendo destacar qual o menor preco, em uma coleta de precos. A variavel FMenorPreco contem o menor dos precos, que ja' calculei em uma outra rotina. Se alguem quiser pintar toda a linha, basta tirar o "if (Column.Field.FieldName = 'VALUNIT')".
|