PDA

Ver la Versión Completa : colorear datos de un Grid


rotsen26
15-04-2013, 18:29:51
Buen día amigos de Clubdelphi...

Tengo un problema que no he podido solucionar, la cuestión es que tengo un grid con los datos seleccionados, y quiero que se coloreen los datos que cumplan con la condición. Tengo el siguiente código...

procedure Tfrm_Agrega.dbg_bsqDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if qry_articulopk_articulo.Value=ADOQuery1dpk.Value then
begin //qry_articulo.First;
ADOQuery1.First;
dbg_bsq.Canvas.Brush.Color := $00E6DC64;
dbg_bsq.Font.Color := clBlack; // qry_articulo.Next;
//adoquery1.Next;
end;
dbg_bsq.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

La cuestión que si se colorea, pero nomas el primer dato que cumple con la condición, pero los demás ya no!!!

Si alguien me podría ayudar se lo agradecería!!!

ecfisa
15-04-2013, 19:21:32
Hola rotsen26.
La cuestión que si se colorea, pero nomas el primer dato que cumple con la condición, pero los demás ya no!!!
Y es lógico que así suceda ya que estás posicionando a ADOQuery1 en el primer registro cada vez que el evento OnDrawColumnCell se ejecuta.

No lo he probado, pero a simple vista parece que debería ser:

procedure Tfrm_Agrega.dbg_bsqDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if qry_articulopk_articulo.Value=ADOQuery1dpk.Value then
begin
dbg_bsq.Canvas.Brush.Color := $00E6DC64;
dbg_bsq.Font.Color := clBlack;
end;
dbg_bsq.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;


Saludos.

rotsen26
15-04-2013, 19:41:00
procedure Tfrm_Agrega.dbg_bsqDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if qry_articulopk_articulo.Value=ADOQuery1dpk.Value then
begin
dbg_bsq.Canvas.Brush.Color := $00E6DC64;
dbg_bsq.Font.Color := clBlack;
end;
dbg_bsq.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

Con este código también me colorea nada mas el primer registro!!!

ecfisa
15-04-2013, 20:05:56
Hola rotsen26.

Percibo que a pesar de contar con 33 mensajes y casi cuatro meses de permanencia en el foro no has dedicado mucho de tu tiempo a leer nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php).

Si no entiendes el por que de mi comentario, hazmelo saber y con gusto te lo explico.

Saludos.