como poner colores a filas en un grid

1,910 views
Skip to first unread message

pablo b(La Pampa)

unread,
Sep 6, 2012, 5:44:22 PM9/6/12
to publice...@googlegroups.com
Hola Amigos del foro, les comento que tengo un grid con 3 columnas y quiero darle color a determinadas filas de acuerdo a su valor o comienzo de la misma es como para que sea mas legible dentro del grid los datos para el usuario, estoy armando una especie de estructura contable y quiero ver como quedaria, se como colorear un grid con dynamicforecolor usando iff pero quiero saber si puedo hacer lo que sigue
ejemplo de mi tabla vista en un grid:

cuenta     descripcion    subcuenta
1              pruab                 0   ////// esta fila a colorear
11            prueba 1             1
12            prueba 2             1
2              mensajes           0   ////// esta fila a colorear
21            mensajes 1        2

y asi sucesivamente, lo que yo quiero colorear en el grid seria los numero de inicio de las cuentas o sea como ven el ejemplo el 1 y el 2 la otras no porque serian las subcuentas, ¿me eplico???, se puede hacer eso y a su vez en diferentes colores.

Muchas gracias

Pablo

Ariel D'Alfeo

unread,
Sep 6, 2012, 6:40:09 PM9/6/12
to publice...@googlegroups.com
Lo podes hacer asi:
despu�s de llenar la grilla:

thisform.grilla.SetAll("DynamicbackColor", "IIF(Subcuenta=
0,RGB(255,0,0),RGB(255,255,255))","Column")

y listo.

Ariel D'Alfeo
C�rdoba, Argentina

El 06/09/2012 18:44, pablo b(La Pampa) escribi�:
> --
>
>
>

Luis Maria Guayan

unread,
Sep 6, 2012, 6:37:43 PM9/6/12
to publice...@googlegroups.com
Este artículo de PortalFox te puede servir

-- Colorear las filas de un Grid de acuerdo al valor de un campo --
http://www.portalfox.com/index.php?name=News&file=article&sid=2769



Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

--
 
 
 

Ariel D'Alfeo

unread,
Sep 6, 2012, 6:49:18 PM9/6/12
to publice...@googlegroups.com

Lo podes hacer asi:
despu�s de llenar la grilla:

thisform.grilla.SetAll("DynamicbackColor", "IIF(Subcuenta=
0,RGB(255,0,0),RGB(255,255,255))","Column")

y para distintos valores:

thisform.grilla.SetAll("DynamicbackColor", "IIF(Subcuenta=
0,RGB(255,0,0),IIF(Subcuenta=1,RGB(255,65,0),IIF(Subcuenta=2,RGB(0,65,0),RGB(255,255,255))))","Column")

y listo.

Ariel D'Alfeo
C�rdoba, Argentina


El 06/09/2012 18:44, pablo b(La Pampa) escribi�:
> --
>
>
>

Guillermo MDQ

unread,
Sep 7, 2012, 10:00:33 AM9/7/12
to publice...@googlegroups.com
Probá este código:

****
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 = RGB(255,255,255) && Blanco por default
  DO Case
    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
***

Saludos
Guillermo



Reply all
Reply to author
Forward
0 new messages