Hola!
Mira, lo modifique de esta manera para que las que no cumplen con la condicion las pinte de rojo, agregando los begin y end como decias:
Código Delphi
[-]
if Column.Field.Dataset.FieldbyName('habilitado').AsBoolean then
begin
If (gdFocused in State) then
dbgrid1.canvas.brush.color := clGreen
else
dbgrid1.canvas.brush.color := clMoneyGreen;
end
else
begin
If (gdFocused in State) then
dbgrid1.canvas.brush.color := clRed
else
dbgrid1.canvas.brush.color := clOlive;
end;
dbgrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
Pero sigue pintando solo la primer columna de la fila seleccionada.
puede ser que sea esta sentencia la que lo provoca?
Código Delphi
[-]
dbgrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
osea, al pasar DataCol y column no estoy provocando que pinte solo la primer columna?
Gracias a todos por responder e interesarse!