Ver Mensaje Individual
  #26  
Antiguo 30-11-2010
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 24
BlueSteel Va por buen camino
Unhappy

Cita:
Empezado por gluglu Ver Mensaje
... y no será que debes de usar el evento OnDrawColumnCell del DBGrid en vez del evento OnDrawCell ??
Hola Gluglu, en evento utilizado es en onDrawDataCell y tambien lo probe en OnDrawColumnCell y aún así no funciona

Lo otro, es que el codigo que dejó Neftali, lo revisé varias veces y esta identico.. incluso si compilo el ejemplo de él funciona super...

Este es el codigo que utiliza Neftali
Código Delphi [-]
procedure TFormMain.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
var
  num:Integer;
begin
  // FILAS ALTERNADAS....
  num := ClientDataSet1.RecNo;
  if ((num mod 2) = 0) then begin
    DBGrid1.Canvas.Brush.Color := ColorBox1.Selected;
  end
  else begin
    DBGrid1.Canvas.Brush.Color := ColorBox2.Selected;
  end;

  DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;

Este es el código que inserté yo...

Código Delphi [-]
procedure TTarjetas.DBGrid2DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
var
  num : Integer;
begin
     num := Datos.AQ_AbonosVendidos.RecNo;
//     num := DBGrid2.DataSource.DataSet.RecNo;
     if ((num mod 2) = 0) then begin
        DBGrid2.Canvas.Brush.Color := clMoneyGreen;
        end
     else begin
          DBGrid2.Canvas.Brush.Color := clWindow;
     end;

    DBGrid2.DefaultDrawDataCell(Rect, Field, State);
end;

Cita:
Empezado por Neftali
¿Sobre qué Base de Datos trabajas y con qué componentes estás probando?
Hay componentes que no implementan el Recno y puede ser que te esté devolviendo -1; En ese caso el pintado no funcionaría.
Esta propiedad está pensada para que sea redefinido por los derivados de TDataSet, si los componentes ue usas no la han redefinido no funcionará este código.
La estoy trabajando sobre SQL Server 2005 y desde Delphi 7. El Recno funciona super... por que puse un mensaje en donde me desplegará la cantidad que tenia...

Estoy utilizando un Ado_Query

Código Delphi [-]
num := Datos.AQ_AbonosVendidos.RecNo;
num := DBGrid2.DataSource.DataSet.RecNo;

Si utilizo cualquier de estas sentencias para obtener el Num... me entregan el mismo valor...

Igual estoy tratando de jugar por si hay algo que no quiere funcionar.. como el color u otra cosa...

Tambien comparé diferencia entre los DBGrid del ejemplo de Neftali y el que utilizo yo... y esta todo casi igual...

seguiré tratando

Salu2
__________________
BlueSteel
Responder Con Cita