FoxPro/Visual FoxPro - colores en un grid

   
Vista:
Imágen de perfil de Elias

colores en un grid

Publicado por Elias emadfmff@gmail.com (55 intervenciones) el 28/10/2013 13:06:20
Hola a todos,

Estoy desarrollando una aplicacion en la cual necesito poder identificar tres situaciones diferentes en un grid.

El grid desplegara la informacion de modificacion de precios de productos y la idea es que aquellos productos que han aumentado su precio muestren la linea en ROJO, los que no han variado el precio se mantengan en el color normal del grid, y aquellos que han rebajado sus precios aparezcan con un color verde en la linea.

Ejemplo: Precio Inicial 100 $

Si el precio es 110 $ la linea del grid debe estar en ROJO

Si el precio es 95 $ la linea del grid debe estar en VERDE

Gracias desde ya
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

colores en un grid

Publicado por Fidel (558 intervenciones) el 28/10/2013 14:03:47
Esto te puede ayudar. Cambia los colores de Varicolor() a tu gusto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
********************************************************
* Supuestos
* xcfile: Variable que tiene el nombre del cursor
* xcfile..OldPrice Precio anterior del producto (como se llame tu campo)
* xcfile..Price       Precio actual del producto    (como se llame tu campo)
 
* Después de configurar el control Grid.
WITH thisform.grid1
	xcFile=.REcordSource
	* lcColor="RGB(220,228,224)" Para definirlo expresamente
	lcColor=TRANSFORM(.Column1.Backcolor) && toma de column1
	.Setall("DynamicBackColor",[VariColor(&xcfile..OldPrice,&xcFile..Price,&lcColor)],"Column")
endwith
 
* En un Archivo prg
*******************************************
PROCEDURE VariColor(xnOld,xnNew,xncolor)
*******************************************
local rgbDev,xnVar
xnColor=EVL(xnColor,RGB(255,255,255))
xnVar=xnNew - xnOld
DO case
	CASE xnVar < 0
		rgbDev=rgb(133,214,175) && verde tenue
	CASE xnVar > 0
		rgbDev=rgb(255,199,115) && rojo tenue
	OTHERWISE
		rgbDev=xnColor
ENDCASE
RETURN rgbDev
ENDPROC
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