Jafera ahi lo puse otra vez en el evento
DrawColumnCel y ahora anda fluido, ayer lo probé varias veces y se trababa todo. Si llega a andar así me ahorraría un montón de código. Lo que me hace es que a veces no me actualiza los estados de los clientes por ahí si un cliente esta activo pero vengo de un rescindido el que esta activo me lo marca como rescindido y viceversa, no se si te pasara esto a vos? Sera problema del código mio?
Código Delphi
[-]procedure TBuscarForm.ClientesDBGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if (gdSelected in State) then
begin
TDBGrid(sender).Canvas.Brush.Color:=$00E8D3B5;
TDBGrid(sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
if QueryDataModule.ClienteZQuery.FieldByName('Baja').Value=1 then
begin
if QueryDataModule.ClienteZQuery.FieldByName('Conyuge').IsNull then
DatosConyugeBitBtn.Visible:=false
else
begin
DatosConyugeBitBtn.Visible:=QueryDataModule.ClienteZQuery.FieldByName('Conyuge').Value;
DatosConyugeBitBtn.Font.Color:=clred;
end;
if QueryDataModule.ClienteZQuery.FieldByName('Observaciones_Check').IsNull then
ObservacionesBitBtn.Visible:=false
else
begin
ObservacionesBitBtn.Visible:=QueryDataModule.ClienteZQuery.FieldByName('Observaciones_Check').Value;
ObservacionesBitBtn.Font.Color:=clred;
end;
BorrarBitBtn.Font.Color:=clRed;
DatosClienteBitBtn.Font.Color:=clred;
DatosVentaBitBtn.Font.Color:=clred;
EstadoBitBtn.Font.Color:=clred;
ExportarBitBtn.Font.Color:=clred;
ImprimirBitBtn.Font.Color:=clred;
UltimaModificacionBitBtn.Font.Color:=clred;
PagosBitBtn.Font.Color:=clred;
ContracargosBitBtn.Font.Color:=clred;
TarjetasBitBtn.Font.Color:=clred;
RescindirBitBtn.Font.Color:=clred;
BitBtn1.Font.Color:=clred;
BitBtn2.Font.Color:=clred;
end
else
begin
if QueryDataModule.ClienteZQuery.FieldByName('Conyuge').IsNull then
DatosConyugeBitBtn.Visible:=false
else
begin
DatosConyugeBitBtn.Visible:=QueryDataModule.ClienteZQuery.FieldByName('Conyuge').Value;
DatosConyugeBitBtn.Font.Color:=clGreen;
end;
if QueryDataModule.ClienteZQuery.FieldByName('Observaciones_Check').IsNull then
ObservacionesBitBtn.Visible:=false
else
begin
ObservacionesBitBtn.Visible:=QueryDataModule.ClienteZQuery.FieldByName('Observaciones_Check').Value;
ObservacionesBitBtn.Font.Color:=clGreen;
end;
DatosClienteBitBtn.Font.Color:=clGreen;;
DatosVentaBitBtn.Font.Color:=clGreen;
BorrarBitBtn.Font.Color:=clGreen;
EstadoBitBtn.Font.Color:=clGreen;
ExportarBitBtn.Font.Color:=clGreen;
ImprimirBitBtn.Font.Color:=clGreen;
UltimaModificacionBitBtn.Font.Color:=clGreen;
PagosBitBtn.Font.Color:=clGreen;
ContracargosBitBtn.Font.Color:=clGreen;
TarjetasBitBtn.Font.Color:=clGreen;
RescindirBitBtn.Font.Color:=clGreen;
BitBtn1.Font.Color:=clGreen;
BitBtn2.Font.Color:=clGreen;
end;
DatosClienteBitBtn.Visible:=True;
DatosVentaBitBtn.Visible:=True;
BorrarBitBtn.Visible:=True;
EstadoBitBtn.Visible:=True;
ExportarBitBtn.Visible:=True;
ImprimirBitBtn.Visible:=True;
UltimaModificacionBitBtn.Visible:=True;
PagosBitBtn.Visible:=True;
ContracargosBitBtn.Visible:=True;
TarjetasBitBtn.Visible:=True;
RescindirBitBtn.Visible:=True;
BitBtn1.Visible:=True;
BitBtn2.Visible:=True;
end;
Ahi esta el procedimiento entero, Desde ya gracias por la ayuda a todos no solo a jafera, son todos muy amables.