Colores en Grid

21/02/2007 - 14:38 por Miguel | Informe spam
Vi estas instrucciones en www.portalfox.com escritas por Esparta Palma:

Thisform::Init
*** Alternar columnas entre blanco y verde ***
Thisform.MyGrid.SetAll("DynamicBackColor", ;
"IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255), RGB(0,255,0))", ;
"Column") Hice las pruebas con una clase grid que tengo y no me funciona,
pero si lo hago con un grid nomal sí las líneas cambian de colores, ¿a qué
se debe esta situación?, tengo VFP9 + SP1.

Gracias de antemano

Preguntas similare

Leer las respuestas

#11 Miguel
22/02/2007 - 20:28 | Informe spam
En el INIT de la clase Grid tengo esto, solo esto, en la instancia no pongo
nada:

LOCAL loColumna, loControl, lcEncabezado, lcNombre
WITH This
SELECT (.RecordSource)
FOR EACH loColumna IN .Columns
* AGREGAR LOS NOMBRES DE LOS CAMPOS A LOS ENCABEZADOS *
FOR EACH loControl IN loColumna.Controls
IF UPPER(loControl.BaseClass) = "HEADER"
lcEncabezado =
SUBSTR((loColumna.ControlSource), AT(".", (loColumna.ControlSource)) + 1)
lcEncabezado = STUFF(lcEncabezado, 1, 1,
UPPER(LEFT(lcEncabezado, 1)))
lcNombre = loControl.Name
loColumna.&lcNombre..Caption = lcEncabezado
ENDIF
ENDFOR
IF TYPE(loColumna.ControlSource) = "L"
loColumna.AddObject("chk", "CheckBox")
loColumna.CurrentControl = "chk"
loColumna.Visible = .T.
loColumna.Sparse = .F.
ENDIF
ENDFOR
.SetAll("DynamicBackColor", IIF(MOD(RECNO(.RecordSource), 2) = 0,
RGB(255, 255, 255), RGB(0, 255, 0)), "Column")
.SetAll("BackStyle", 0, "CheckBox")
.SetAll("Caption", "", "CheckBox")
.SetAll("Centered", .T., "CheckBox")
.SetAll("ReadOnly", .T., "CheckBox")
.SetAll("FontBold", .T., "Header")
.SetAll("BackColor", RGB(182, 202, 234), "TextBox")
.SetAll("ForeColor", RGB(255, 255, 255), "TextBox")
.SetAll("ReadOnly", .T., "TextBox")
.SetAll("Style", 1, "TextBox")
.Refresh
ENDWITH


"Luis María Guayán" wrote in message
news:
¿La clase grid que utilizas tiene algun método para iluminar todo el
registro?

Mira el código de tu clase Grid, que seguramente está cambiando el
comportamiento de un grid normal.

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos


"Miguel" escribió en el mensaje
news:
Nisiquiera muestra los colores.

"Luis María Guayán" wrote in message
news:
> ¿No alterna los colores o no lo hace en el orden correcto?
>
> Recuerda que estas trabajando con RECNO() y si tienes un índice
> establecido
> no se cumple lo de 1 registro impar, 1 registro par
>
>
> Luis María Guayán
> Tucumán, Argentina
> ________________________________
> SysOp de www.PortalFox.com
> Microsoft Visual FoxPro MVP
> ________________________________
> La palabra imposible solo figura
> en el diccionario de los tontos
>
>
> "Miguel" escribió en el mensaje
> news:
>> Claro, entiendo que hay que abrir la tabla sino el RECNO() me mostrara
> error
>> al instanciar la clase y el grid tampoco me mostrara los registro,
>> pero
>> el
>> problema es que me muestra los registros pero no alterna los colores,
> estoy
>> al pensar que es un bug de VFP.
>>
>>
>> "Dario David Puccio" wrote in message
>> news:
>> > Ahi ya no se, nunca utilizo clases... pero si alguien me corrige en


lo
>> > contrario, hay que abrir la tabla...
>> >
>> > Dario David Puccio
>> > El Cyber_Gaucho
>> > www.chispazodetradicion.com.ar
>> >
>> >
>> > "Miguel" escribió en el mensaje
>> > news:%
>> >> Supongo que la clase instanciada debe reconocerlo cuando se abre
>> >> con
>> >> la
>> >> tabla.
>> >>
>> >> "Dario David Puccio" escribió en el


mensaje
>> >> news:
>> >>> pero si no hay tabla con que se que recno() debo verificar?
>> >>>
>> >>> Dario
>> >>>
>> >>> "Miguel" escribió en el mensaje
>> >>> news:
>> >>>> No, la clase no tiene la tabla abierta porque no la especifico.


Pero
> he
>> >>>> hecho la prueba poniendo la instrucción SetAll en el grid que


estoy
>> >>>> usando y tampoco me funciona.
>> >>>>
>> >>>> Gracias por tu sugerencia.
>> >>>>
>> >>>> "Dario David Puccio" wrote in message
>> >>>> news:
>> >>>>> Primero verifica si en esa clase esta abierta la tabla en


cuestion
>> >>>>> para
>> >>>>> que la condicion verifique el recno(), luego ese codigo yo lo
> utilizo
>> >>>>> en el afterrow y beforerow del grid y funciona bien, si alguien


te
>> >>>>> brinda otra idea bienvenida sea.
>> >>>>>
>> >>>>>
>> >>>>> Dario David Puccio
>> >>>>> El Cyber_Gaucho
>> >>>>> www.chispazodetradicion.com.ar
>> >>>>>
>> >>>>>
>> >>>>> "Miguel" escribió en el mensaje
>> >>>>> news:uG$
>> >>>>>> Vi estas instrucciones en www.portalfox.com escritas por
>> >>>>>> Esparta
>> >>>>>> Palma:
>> >>>>>>
>> >>>>>> Thisform::Init
>> >>>>>> *** Alternar columnas entre blanco y verde ***
>> >>>>>> Thisform.MyGrid.SetAll("DynamicBackColor", ;
>> >>>>>> "IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255), RGB(0,255,0))", ;
>> >>>>>> "Column") Hice las pruebas con una clase grid que tengo y no
>> >>>>>> me
>> >>>>>> funciona,
>> >>>>>> pero si lo hago con un grid nomal sí las líneas cambian de
>> >>>>>> colores,
>> >>>>>> ¿a
>> >>>>>> qué
>> >>>>>> se debe esta situación?, tengo VFP9 + SP1.
>> >>>>>>
>> >>>>>> Gracias de antemano
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>
>> >>>>>
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>
>> >>
>> >
>> >
>> >
>>
>>
>
>






Respuesta Responder a este mensaje
#12 Luis María Guayán
22/02/2007 - 22:26 | Informe spam
Te faltan las comillas en el IIF(

.SetAll("DynamicBackColor", "IIF(MOD(RECNO(.RecordSource), 2) = 0, RGB(255,
255, 255), RGB(0, 255, 0))", "Column")


Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos


"Miguel" escribió en el mensaje
news:
En el INIT de la clase Grid tengo esto, solo esto, en la instancia no


pongo
nada:

LOCAL loColumna, loControl, lcEncabezado, lcNombre
WITH This
SELECT (.RecordSource)
FOR EACH loColumna IN .Columns
* AGREGAR LOS NOMBRES DE LOS CAMPOS A LOS ENCABEZADOS *
FOR EACH loControl IN loColumna.Controls
IF UPPER(loControl.BaseClass) = "HEADER"
lcEncabezado > SUBSTR((loColumna.ControlSource), AT(".", (loColumna.ControlSource)) + 1)
lcEncabezado = STUFF(lcEncabezado, 1, 1,
UPPER(LEFT(lcEncabezado, 1)))
lcNombre = loControl.Name
loColumna.&lcNombre..Caption = lcEncabezado
ENDIF
ENDFOR
IF TYPE(loColumna.ControlSource) = "L"
loColumna.AddObject("chk", "CheckBox")
loColumna.CurrentControl = "chk"
loColumna.Visible = .T.
loColumna.Sparse = .F.
ENDIF
ENDFOR
.SetAll("DynamicBackColor", IIF(MOD(RECNO(.RecordSource), 2) = 0,
RGB(255, 255, 255), RGB(0, 255, 0)), "Column")
.SetAll("BackStyle", 0, "CheckBox")
.SetAll("Caption", "", "CheckBox")
.SetAll("Centered", .T., "CheckBox")
.SetAll("ReadOnly", .T., "CheckBox")
.SetAll("FontBold", .T., "Header")
.SetAll("BackColor", RGB(182, 202, 234), "TextBox")
.SetAll("ForeColor", RGB(255, 255, 255), "TextBox")
.SetAll("ReadOnly", .T., "TextBox")
.SetAll("Style", 1, "TextBox")
.Refresh
ENDWITH


"Luis María Guayán" wrote in message
news:
> ¿La clase grid que utilizas tiene algun método para iluminar todo el
> registro?
>
> Mira el código de tu clase Grid, que seguramente está cambiando el
> comportamiento de un grid normal.
>
> Luis María Guayán
> Tucumán, Argentina
> ________________________________
> SysOp de www.PortalFox.com
> Microsoft Visual FoxPro MVP
> ________________________________
> La palabra imposible solo figura
> en el diccionario de los tontos
>
>
> "Miguel" escribió en el mensaje
> news:
>> Nisiquiera muestra los colores.
>>
>> "Luis María Guayán" wrote in message
>> news:
>> > ¿No alterna los colores o no lo hace en el orden correcto?
>> >
>> > Recuerda que estas trabajando con RECNO() y si tienes un índice
>> > establecido
>> > no se cumple lo de 1 registro impar, 1 registro par
>> >
>> >
>> > Luis María Guayán
>> > Tucumán, Argentina
>> > ________________________________
>> > SysOp de www.PortalFox.com
>> > Microsoft Visual FoxPro MVP
>> > ________________________________
>> > La palabra imposible solo figura
>> > en el diccionario de los tontos
>> >
>> >
>> > "Miguel" escribió en el mensaje
>> > news:
>> >> Claro, entiendo que hay que abrir la tabla sino el RECNO() me


mostrara
>> > error
>> >> al instanciar la clase y el grid tampoco me mostrara los registro,
>> >> pero
>> >> el
>> >> problema es que me muestra los registros pero no alterna los


colores,
>> > estoy
>> >> al pensar que es un bug de VFP.
>> >>
>> >>
>> >> "Dario David Puccio" wrote in message
>> >> news:
>> >> > Ahi ya no se, nunca utilizo clases... pero si alguien me corrige


en
> lo
>> >> > contrario, hay que abrir la tabla...
>> >> >
>> >> > Dario David Puccio
>> >> > El Cyber_Gaucho
>> >> > www.chispazodetradicion.com.ar
>> >> >
>> >> >
>> >> > "Miguel" escribió en el mensaje
>> >> > news:%
>> >> >> Supongo que la clase instanciada debe reconocerlo cuando se abre
>> >> >> con
>> >> >> la
>> >> >> tabla.
>> >> >>
>> >> >> "Dario David Puccio" escribió en el
> mensaje
>> >> >> news:
>> >> >>> pero si no hay tabla con que se que recno() debo verificar?
>> >> >>>
>> >> >>> Dario
>> >> >>>
>> >> >>> "Miguel" escribió en el mensaje
>> >> >>> news:
>> >> >>>> No, la clase no tiene la tabla abierta porque no la especifico.
> Pero
>> > he
>> >> >>>> hecho la prueba poniendo la instrucción SetAll en el grid que
> estoy
>> >> >>>> usando y tampoco me funciona.
>> >> >>>>
>> >> >>>> Gracias por tu sugerencia.
>> >> >>>>
>> >> >>>> "Dario David Puccio" wrote in message
>> >> >>>> news:
>> >> >>>>> Primero verifica si en esa clase esta abierta la tabla en
> cuestion
>> >> >>>>> para
>> >> >>>>> que la condicion verifique el recno(), luego ese codigo yo lo
>> > utilizo
>> >> >>>>> en el afterrow y beforerow del grid y funciona bien, si


alguien
> te
>> >> >>>>> brinda otra idea bienvenida sea.
>> >> >>>>>
>> >> >>>>>
>> >> >>>>> Dario David Puccio
>> >> >>>>> El Cyber_Gaucho
>> >> >>>>> www.chispazodetradicion.com.ar
>> >> >>>>>
>> >> >>>>>
>> >> >>>>> "Miguel" escribió en el mensaje
>> >> >>>>> news:uG$
>> >> >>>>>> Vi estas instrucciones en www.portalfox.com escritas por
>> >> >>>>>> Esparta
>> >> >>>>>> Palma:
>> >> >>>>>>
>> >> >>>>>> Thisform::Init
>> >> >>>>>> *** Alternar columnas entre blanco y verde ***
>> >> >>>>>> Thisform.MyGrid.SetAll("DynamicBackColor", ;
>> >> >>>>>> "IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255), RGB(0,255,0))", ;
>> >> >>>>>> "Column") Hice las pruebas con una clase grid que tengo y no
>> >> >>>>>> me
>> >> >>>>>> funciona,
>> >> >>>>>> pero si lo hago con un grid nomal sí las líneas cambian de
>> >> >>>>>> colores,
>> >> >>>>>> ¿a
>> >> >>>>>> qué
>> >> >>>>>> se debe esta situación?, tengo VFP9 + SP1.
>> >> >>>>>>
>> >> >>>>>> Gracias de antemano
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>>
>> >> >>>>>
>> >> >>>>>
>> >> >>>>
>> >> >>>>
>> >> >>>
>> >> >>>
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >
>>
>>
>
>


Respuesta Responder a este mensaje
#13 Miguel
23/02/2007 - 00:39 | Informe spam
Tampoco así me funciona.

El Thu, 22 Feb 2007 18:26:45 -0300, Luis María Guayán escribió:

Te faltan las comillas en el IIF(

.SetAll("DynamicBackColor", "IIF(MOD(RECNO(.RecordSource), 2) = 0, RGB(255,
255, 255), RGB(0, 255, 0))", "Column")
Respuesta Responder a este mensaje
#14 Luis María Guayán
23/02/2007 - 13:40 | Informe spam
He probado y me funciona con esta expresion:

.SETALL("DynamicBackColor", "IIF(MOD(RECNO(), 2) = 0, RGB(255, 255, 255),
RGB(0, 255, 0))", "Column")

¿No tienes código en el Init de tu Grilla que pise el código de tu clase
base? En caso afirmativo debes usar DODEFAULT()


Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos


"Miguel" escribió en el mensaje
news:
Tampoco así me funciona.

El Thu, 22 Feb 2007 18:26:45 -0300, Luis María Guayán escribió:

> Te faltan las comillas en el IIF(
>
> .SetAll("DynamicBackColor", "IIF(MOD(RECNO(.RecordSource), 2) = 0,


RGB(255,
> 255, 255), RGB(0, 255, 0))", "Column")

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida