FoxPro/Visual FoxPro - Cambiar colores segun seleccion en un grid

 
Vista:

Cambiar colores segun seleccion en un grid

Publicado por Zhero (15 intervenciones) el 17/12/2002 18:02:28
Estoy tratando de cambiar el color de fondo de un grid en una fila específica. Por ejemplo, el grid hace referencia a una tabla con 5 registros y selecciono en el grid, la fila número 3. Lo que quiero entonces, es que la fila 3 completa tenga un color distinto a las otras. Estuve probando con el DinamicBackColor pero no encuentro ninguna fórmula para resolverlo.
Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cambiar colores segun seleccion en un grid

Publicado por Alvaro Padilla (146 intervenciones) el 17/12/2002 18:58:36
Agrega una propiedad a tu formulario que se llame HITREC (o el nombre que quieras) y coloca el siguiente codigo en el evento AFTERROWCOLCHANGE del Grid:
****
LPARAMETERS nColIndex
Thisform.HitRec=recno()
This.Setall('DynamicBackColor','iif(recno()=This.HitRec,rgb(192,192,192),rgb(255,255,204))','Column')
This.refresh()

Lo que hace este codigo, es guardar en la propiedad del Form el registro actual, y luego, le cambia el color de la fila en la cual este posicionado(compara el registro actual con la propiedad).

si te funciona, te recomiendo que intentes hacer una Classe con el grid y al grid le agregas la Propiedad en vez de agregarla al form, al menos asi lo tengo, con otras cosas mas... y me funciona bien.

Saludos
aps.

P.D. En la version 8 de VFP ya no es necesario este codigo, hay una nueva propiedad que nos permite iluminar la fila actual. pero solo es version BETA.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

EXCELENTE

Publicado por Roberto (124 intervenciones) el 17/12/2002 21:00:46
Alvaro:
Excelente tu respuesta en lo personal me servio bastante, solo un detalle, en el IFF se debe especificar Thisform.HitRec y no This.HitRec, ya que la propiedad esta dentro del FORM y no dentro de la Grid.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EXCELENTE

Publicado por Alvaro Padilla (146 intervenciones) el 20/12/2002 20:41:21
si, tienes razon... es que como yo tengo el grid en una clase..
pues la clase tiene la propiedad.. y al hacer el Copy/Paste, me olvide de modificar esa parte.

saludos.
aps
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar