Color a una celda de un control grid

04/11/2010 - 22:30 por tony | Informe spam
Hola a todos,

Alguien sabe como colocar color a una celda de un control grid, ya que
necesito hacer un cuadro parecido a una matriz y dar color a una o a
un grupo de celdas de acuerdo a una condicion.

Agradezco su colaboración.

Gracias.

Antonio Samper G.
 

Leer las respuestas

#1 Richard Silva
08/11/2010 - 13:38 | Informe spam
Hola Tony,

copio y pego un aporte de José A. Blasco en Portalfox.com

*****************************
Public oForm
oForm = Createobject("myForm")
oForm.Show()

Define Class myForm As Form

DataSession = 2

Height = 400

Width = 600

Add Object myGrid As Grid With ;
Height = 400, Width = 600, RecordSource="datos"

Procedure Load

Create Cursor Datos (codigo N(3),nombre c(30),col1 N(1),col2
N(1),col3 N(1))
Insert Into Datos Values (1,"Juan Perez",1,3,5)
Insert Into Datos Values (2,"Ana Pardos",2,4,6)
Insert Into Datos Values (3,"Luis Garcia",3,5,1)
Insert Into Datos Values (4,"Elisa Sanjuan",4,6,2)
Insert Into Datos Values (5,"Alberto Casañal",5,1,3)
Insert Into Datos Values (6,"Julia Martin",6,2,4)
GOTO top

Endproc

Procedure Init

This.myGrid.Column1.DynamicBackColor="thisform.MyColor(codigo)"
This.myGrid.Column3.DynamicBackColor="thisform.MyColor(col1)"
This.myGrid.Column4.DynamicBackColor="thisform.MyColor(col2)"
This.myGrid.Column5.DynamicBackColor="thisform.MyColor(col3)"

Endproc

Procedure MyColor

Lparameters tnvalor

lnColor = 0xFFFFFF && Blanco por default

Do Case
Case tnvalor = 1
lnColor = Rgb(100,100,150)

Case tnvalor = 2
lnColor = Rgb(255,255,0)

Case tnvalor = 3
lnColor = Rgb(255,100,0)

Case tnvalor = 4
lnColor = Rgb(255,0,0)

Case tnvalor = 5
lnColor = Rgb(0,255,0)

Case tnvalor = 6
lnColor = Rgb(0,0,255)

Endcase

Return lnColor

Endproc


Procedure Unload

Close Tables All
Close Databases All

Endproc

Enddefine
***************************

Espero te sea de utilidad,

Un abrazo.

Preguntas similares