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.

Preguntas similare

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.
Respuesta Responder a este mensaje
#2 tony
11/11/2010 - 17:33 | Informe spam
On 8 nov, 07:38, Richard Silva wrote:
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.



Ok, gracias por la información la pondre aprueba y te comento.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida