Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   pasar codigo DBGrid a cxGrid, seleccionar una fila y cambiar el color, no desapareser (https://www.clubdelphi.com/foros/showthread.php?t=24210)

sakuragi 11-08-2005 19:13:08

pasar codigo DBGrid a cxGrid, seleccionar una fila y cambiar el color, no desapareser
 
hola que tal

tengo problemas para pasar un codigo de un DBGrid a un cxGrid, este codigo hase que se seleccione toda la fila y la pinte de un color

y siempre esta presente aunque quitemos el foco del DBGrid

el codigo es:
evento "OnDrawColumCell"
Código Delphi [-]
 if (gdSelected in state) then
 begin
       (sender as TDBGrid).Canvas.Font.color:=(tool.color xor clWhite);
       (sender as TDBGrid).Canvas.Brush.color:=tool.color;
 end;
 (sender as TDBGrid).DefaultDrawColumnCell(Rect,DataCol,column,state);

bien
eh leido la ayuda del cxGrid pero no le eh podido ahyar
vi algo de ACanvas en igual de Sender pero a la hora de compilar me decia que no era el mismo tipo

si alguien sabe algo les agradeseria cual quier ayuda de como pasar ese codigo aun cxGrid

tambien probe en los eventos DRAW del cxGrid pero no puede conseguir nada

de hante mano gracias

Neftali [Germán.Estévez] 12-08-2005 09:30:17

Supongo que ésto te puede servir:

How to Apply a Custom Draw Procedure to the Entire Row Depending on a Cell Value:

http://www.devexpress.com/Support/Kn...essQuantumGrid

sakuragi 12-08-2005 16:45:05

gracias

el enlase no funciona

Neftali [Germán.Estévez] 12-08-2005 17:45:45

A mi me funciona bien, pero sino puedes acceder a la misma página haciendo lo siguiente:

http://www.devexpress.com/Support/KnowledgeBase/

En ésta página escribe como texto:
How to Apply a Custom Draw Procedure

y en el producto:
ExpressGuqntumGrid

sakuragi 12-08-2005 17:53:29

gracias nueva mente

creo que hanteriormente que intente el server tava caido ya pude entrar

lo checare

gracias

saludos

VIRU 19-08-2005 20:12:52

lograste hacer lo que querias, yo despues de buscar bastante decidi usarlo con los styles generas el style y lo aplicas en mi caso era cambiar el color de una fuente de una celda segun su contenido.

procedure TForm1.wwdbgrid1DBTableView1SexoStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);

begin
if arecord.Values[2] = 'H' then
astyle := cxstyle1;
end;

en caso que quiersa identificar la columna por su nombre y no por su index...

procedure TForm1.wwdbgrid1DBTableView1SexoStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
AColumn: TcxCustomGridTableItem;
begin
AColumn := (Sender as TcxGridDBTableView).GetColumnByFieldName('Sexo');
if VarToStr(ARecord.Values[AColumn.Index]) = 'H' then
astyle := cxstyle1;
end;


espero te sirva

sakuragi 22-08-2005 17:11:02

gracias

lo checare
:cool:

sakuragi 07-10-2005 00:01:16

hola que tan de nuevo.

ese metedo quise implementarlo en otro evento pero no me deja se traba en esta linea:
Código Delphi [-]
  if VarToStr(ARecord.Values[AColumn.Index]) = 'H' then

esto lo proben los eventos "OnClick" y "OnKeyDown"

declare todas las varibles:
Código Delphi [-]
 var
    Sender: TcxCustomGridTableView; 
 ARecord: TcxCustomGridRecord;
    AItem: TcxCustomGridTableItem; 
 AStyle: TcxStyle;
  AColumn: TcxCustomGridTableItem;

no se si para en estos eventos se tiene que cambiar la forma de la sintaxys ya lo probe de muchas formas pero no me ha salido bien.

saludos

gracias

VIRU 07-10-2005 05:50:16

Dame mas datos cual es el error que te tira y en que parte de la linea te da el error.

sakuragi 07-10-2005 16:56:36

hola que tal.

mas bien no es un erro de mensaje se traba el programa en esta linea

esto es en el evento "OnClick" y "OnKeyDown"
Código Delphi [-]
 if VarToStr(ARecord.Values[AColumn.Index]) = 'H' then

eso lo detecte con mensajes box hantes y despues de la linea.

tambien por el "showmessage" que no me mostraba nada, mas bien
se trababa tambien.

creo que es algo de esa linea


pero igual a como esta en el evento "OnGetContentStyle" lo puse
igual.


saludos

VIRU 08-10-2005 06:46:09

mira en este momento no tengo el delphi para chequear no me das muchos datos del porque se detiene pero en fin pueden ser dos cosas, disculpa por ahi si insulto tu inteligencia pero uno nunca sabe, puede que en los eventos mencionados falte alguno de estos objetos, Arecord o Acolumn, o puede que se trabe porque yo estoy comparando el contenido de la celda con H y por ahi en tu caso no es asi... ojo el ejemplo que yo puse es de un soft propio, tendras que adaptarlo a tu necesidad especifica.

Saludos

pepe2000 14-01-2006 04:41:39

todos piden cambiar el color de una fila de acuerdo a una condicion. Alguien sabe como poner de un color fijo (ejm. azul) la fila donde se encuentra actualmente el cursor?

Omartsu 10-02-2006 20:19:34

Quiero que se cambie de color una fila seleccionada
 
Quiero poner en rojo una fila que haya seleccionado, pero que se cambie de color cuando lo guarde en una tabla en la cual guardo el id de esa fila, si me ayudan se los agradecería bastante, soy muy nuevo en Delphi, disculpen las molestias, gracias.

VIRU 11-02-2006 10:02:07

pepe2000 mira el codigo anterior, trata de entenderlo, muy bien ahora cuando el cursor se encuentra en una fila, no es una posible condicion para consultar?

omartsu, no entiendo bien lo que quieres hacer, quieres poner de un color una fila seleccionada en un dbgrid, pero que cuando este guardada en otra tabla tenga otro color?


La franja horaria es GMT +2. Ahora son las 17:46:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi