Ver Mensaje Individual
  #16  
Antiguo 13-02-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola rotsen26.

A diferencia de los compañeros, yo había interpretado mal lo que estabas buscando, pensé que mostrabas una habitacion por vez.

Si son mostradas todas, podrías usar un procedimiento para actualizar los estados y llamarlo cuando sea necesario:
Código Delphi [-]
procedure TForm1.ActualizarPaneles(Grid: TDBGrid);
var
  i: Integer;
  tc: TColor;
  BM: Pointer;
begin
  i:= 1;
  BM := DBGrid1.DataSource.DataSet.GetBookmark;
  Grid.DataSource.DataSet.DisableControls;
  Grid.DataSource.DataSet.First;
  try
    while not Grid.DataSource.DataSet.Eof do
    begin
      case Grid.DataSource.DataSet.FieldByName('ESTADO').AsString[1] of
        'D': tc:= clGreen;  // (D)esocupado
        'O': tc:= clRed;    // (O)cupado
        'R': tc:= clYellow; // (R)eservado
      end;
      TPanel(FindComponent('Panel'+IntToStr(i))).Color := tc;
      Grid.DataSource.DataSet.Next;
      Inc(i)
    end;
  finally
    Grid.DataSource.DataSet.GotoBookmark(BM);
    Grid.DataSource.DataSet.FreeBookmark(BM);
    Grid.DataSource.DataSet.EnableControls
  end
end;

Un ejemplo de llamada:
Código Delphi [-]
procedure TForm1.FormShow(Sender: TObject);
begin
  // (Tu DataSet debería estar abierto en este punto) tu_DataSet.Open;
  ActualizarPaneles(DBGrid1);
end;
Otro:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
   ActualizarPaneles(DBGrid1);
end;
Para simplificar, en el procedimiento ActualizarPaneles, asumo que los paneles se llaman: Panel1, Panel2, Panel3, ... (*)

Saludos.

(*) Edito, me falto agregar: y el órden de los Paneles se corresponde al órden de las habitaciones en la tabla
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 13-02-2013 a las 20:30:17.
Responder Con Cita