Hola, bueno, creo que me voy a volver loca!!
A ver, ahora he probado sólo con el siguiente código en el evento OnPaintPanel del DBCtrlGrid:
Código Delphi
[-]
begin
if (DBCtrlGrid1.DataSource.DataSet.FieldByName('estado').AsString)='Libre' then
DBCtrlGrid1.Color:=clGreen
else
DBCtrlGrid1.Color :=clRed;
end;
En vez de colorear el Panel, como antes, coloreo el DBCtrlGrid. Y cual es el resultado? Pues que si tienen que aparecer las mesas 1,2,3 y 15 en rojo. Aparecen en rojo las mesas 2,3,4 y 16. Alguna idea de por qué pasa ésto?
Un saludo,