Ver Mensaje Individual
  #8  
Antiguo 15-07-2021
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.

Podes agregar una columna a tu tabla que sirva para saber si la fila debe ser pintada o no.

Un ejemplo muy simplificado:
Código Delphi [-]
...
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  DS : TDataSet;
begin
  DS := DBGrid1.DataSource.DataSet;
  if  DS.FieldByName( 'BOOL' ).AsInteger = 1  then
    DBGrid1.Canvas.Brush.Color := clRed; // color de tu gusto
  DBGrid1.DefaultDrawColumnCell(Rect, Datacol, Column, State);
end;

procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
  DS : TDataSet;
begin
  DS := DBGrid1.DataSource.DataSet;
  DS.Edit;
  if DS.FieldByName( 'BOOL' ).AsInteger = 1  then
    DS.FieldByName( 'BOOL' ).AsInteger := 0
  else
    DS.FieldByName( 'BOOL' ).AsInteger := 1;
end;

...
En este caso al campo agregado lo denominé BOOL y usé el evento OnDblClick.

Salida del ejemplo:


Saludos
__________________
Daniel Didriksen

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