Quisiera en un Browse colorear un grupo de celdas en función del valor
de las mismas. p.e. colorear de rojo la celda cuando su valor sea "A" y de
verde cuando su valor sea "B". Es posible ??
Anticipadamente gracias. Saludos.
Emilio Gil.
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
colorear brows
-
- Mensajes: 48
- Registrado: Mié Nov 23, 2005 5:08 pm
colorear brows
Emilio,
Utiliza el método OnDrawCel de la Columna.
Incluso puedes cambiar la fuente...
Yo lo estoy utilizando así...
METHOD Browse2ColumnsDrawCell( oSender, cText, nClrText, nClrPane, lHighLite, hDC, aRect ) CLASS TFrmORAlbarans
If ::oBrowse2:nArrayAt > 0 .and. ::oBrowse2:nArrayAt <= Len( ::oBrowse2:aArrayData )
If !Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,1] ) .and.;
Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,2] ) .and.;
Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,3] )
SelectObject( hDC, ::oFontNegreta:Handle )
If( !lHighLite, nClrPane := clInfoBk, )
Else
SelectObject( hDC, ::oFontNormal:Handle )
If( !lHighLite, nClrPane := clWindow, )
EndIf
EndIf
RETURN Nil
Un Saludo,
Xevi,
"Emilio Gil" <emilio@iplasticas.com> escribió en el mensaje news:43f3013c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Quisiera en un Browse colorear un grupo de celdas en función del valor
> de las mismas. p.e. colorear de rojo la celda cuando su valor sea "A" y de
> verde cuando su valor sea "B". Es posible ??
>
> Anticipadamente gracias. Saludos.
> Emilio Gil.
>
>
--
Utiliza el método OnDrawCel de la Columna.
Incluso puedes cambiar la fuente...
Yo lo estoy utilizando así...
METHOD Browse2ColumnsDrawCell( oSender, cText, nClrText, nClrPane, lHighLite, hDC, aRect ) CLASS TFrmORAlbarans
If ::oBrowse2:nArrayAt > 0 .and. ::oBrowse2:nArrayAt <= Len( ::oBrowse2:aArrayData )
If !Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,1] ) .and.;
Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,2] ) .and.;
Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,3] )
SelectObject( hDC, ::oFontNegreta:Handle )
If( !lHighLite, nClrPane := clInfoBk, )
Else
SelectObject( hDC, ::oFontNormal:Handle )
If( !lHighLite, nClrPane := clWindow, )
EndIf
EndIf
RETURN Nil
Un Saludo,
Xevi,
"Emilio Gil" <emilio@iplasticas.com> escribió en el mensaje news:43f3013c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Quisiera en un Browse colorear un grupo de celdas en función del valor
> de las mismas. p.e. colorear de rojo la celda cuando su valor sea "A" y de
> verde cuando su valor sea "B". Es posible ??
>
> Anticipadamente gracias. Saludos.
> Emilio Gil.
>
>
--
-
- Mensajes: 48
- Registrado: Mié Nov 23, 2005 5:08 pm
colorear brows
Xevi,
Muchas gracias, yo lestoy utilizando con tdbfBrowse y le hago la
pregunta acerca del valor del campo que esta en esa columna y listo de
la forma:
METHOD Brw1Column1DrawCell( oSender, cText, nClrText, nClrPane,
lHighLite, hDC, aRect ) CLASS TForm2
if Field->dato == "B"
nClrPane := clGreen
endif
RETURN Nil
pero la primera vez que se pinta el browse no me hace caso, solamente se
colorea en el caso de que desde otra instancia le mande un refresh().
Sabes como lo podría arreglar.
Gracias.
Emilio Gil.
Xevi escribió:
> Emilio,
>
> Utiliza el método OnDrawCel de la Columna.
> Incluso puedes cambiar la fuente...
>
> Yo lo estoy utilizando así...
>
> METHOD Browse2ColumnsDrawCell( oSender, cText, nClrText, nClrPane,
> lHighLite, hDC, aRect ) CLASS TFrmORAlbarans
> If ::oBrowse2:nArrayAt > 0 .and. ::oBrowse2:nArrayAt <= Len(
> ::oBrowse2:aArrayData )
>
> If !Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,1] ) .and.;
> Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,2] ) .and.;
> Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,3] )
> SelectObject( hDC, ::oFontNegreta:Handle )
> If( !lHighLite, nClrPane := clInfoBk, )
> Else
> SelectObject( hDC, ::oFontNormal:Handle )
> If( !lHighLite, nClrPane := clWindow, )
> EndIf
> EndIf
> RETURN Nil
>
> Un Saludo,
> Xevi,
>
>
> "Emilio Gil" <emilio@iplasticas.com <mailto:emilio@iplasticas.com>>
> escribió en el mensaje news:43f3013c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> > Quisiera en un Browse colorear un grupo de celdas en función del
> valor
> > de las mismas. p.e. colorear de rojo la celda cuando su valor sea "A"
> y de
> > verde cuando su valor sea "B". Es posible ??
> >
> > Anticipadamente gracias. Saludos.
> > Emilio Gil.
> >
> >
Muchas gracias, yo lestoy utilizando con tdbfBrowse y le hago la
pregunta acerca del valor del campo que esta en esa columna y listo de
la forma:
METHOD Brw1Column1DrawCell( oSender, cText, nClrText, nClrPane,
lHighLite, hDC, aRect ) CLASS TForm2
if Field->dato == "B"
nClrPane := clGreen
endif
RETURN Nil
pero la primera vez que se pinta el browse no me hace caso, solamente se
colorea en el caso de que desde otra instancia le mande un refresh().
Sabes como lo podría arreglar.
Gracias.
Emilio Gil.
Xevi escribió:
> Emilio,
>
> Utiliza el método OnDrawCel de la Columna.
> Incluso puedes cambiar la fuente...
>
> Yo lo estoy utilizando así...
>
> METHOD Browse2ColumnsDrawCell( oSender, cText, nClrText, nClrPane,
> lHighLite, hDC, aRect ) CLASS TFrmORAlbarans
> If ::oBrowse2:nArrayAt > 0 .and. ::oBrowse2:nArrayAt <= Len(
> ::oBrowse2:aArrayData )
>
> If !Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,1] ) .and.;
> Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,2] ) .and.;
> Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,3] )
> SelectObject( hDC, ::oFontNegreta:Handle )
> If( !lHighLite, nClrPane := clInfoBk, )
> Else
> SelectObject( hDC, ::oFontNormal:Handle )
> If( !lHighLite, nClrPane := clWindow, )
> EndIf
> EndIf
> RETURN Nil
>
> Un Saludo,
> Xevi,
>
>
> "Emilio Gil" <emilio@iplasticas.com <mailto:emilio@iplasticas.com>>
> escribió en el mensaje news:43f3013c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> > Quisiera en un Browse colorear un grupo de celdas en función del
> valor
> > de las mismas. p.e. colorear de rojo la celda cuando su valor sea "A"
> y de
> > verde cuando su valor sea "B". Es posible ??
> >
> > Anticipadamente gracias. Saludos.
> > Emilio Gil.
> >
> >
colorear brows
Yo tengo un OnBrowseChange, que es donde fuerzo a refrescar el Browse...
No se que puede estar ocurriéndote, pero si utilizas el método OnInitialize
del Form y le colocas el Refresh() del Browse... igual solucionas este tema
de primer pintado.
Un Saludo,
Xevi.
"Emilio Gil" <emilio@iplasticas.com> escribió en el mensaje
news:43f35236$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
> Muchas gracias, yo lestoy utilizando con tdbfBrowse y le hago la pregunta
> acerca del valor del campo que esta en esa columna y listo de la forma:
>
> METHOD Brw1Column1DrawCell( oSender, cText, nClrText, nClrPane, lHighLite,
> hDC, aRect ) CLASS TForm2
>
>
> if Field->dato == "B"
> nClrPane := clGreen
> endif
>
> RETURN Nil
>
> pero la primera vez que se pinta el browse no me hace caso, solamente se
> colorea en el caso de que desde otra instancia le mande un refresh().
>
> Sabes como lo podría arreglar.
>
> Gracias.
> Emilio Gil.
>
>
> Xevi escribió:
>> Emilio,
>> Utiliza el método OnDrawCel de la Columna.
>> Incluso puedes cambiar la fuente...
>> Yo lo estoy utilizando así...
>> METHOD Browse2ColumnsDrawCell( oSender, cText, nClrText, nClrPane,
>> lHighLite, hDC, aRect ) CLASS TFrmORAlbarans
>> If ::oBrowse2:nArrayAt > 0 .and. ::oBrowse2:nArrayAt <= Len(
>> ::oBrowse2:aArrayData )
>> If !Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,1] ) .and.;
>> Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,2] ) .and.;
>> Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,3] )
>> SelectObject( hDC, ::oFontNegreta:Handle )
>> If( !lHighLite, nClrPane := clInfoBk, )
>> Else
>> SelectObject( hDC, ::oFontNormal:Handle )
>> If( !lHighLite, nClrPane := clWindow, )
>> EndIf
>> EndIf
>> RETURN Nil
>> Un Saludo,
>> Xevi,
>> "Emilio Gil" <emilio@iplasticas.com <mailto:emilio@iplasticas.com>>
>> escribió en el mensaje news:43f3013c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> > Quisiera en un Browse colorear un grupo de celdas en función del
>> valor
>> > de las mismas. p.e. colorear de rojo la celda cuando su valor sea "A"
>> y de
>> > verde cuando su valor sea "B". Es posible ??
>> >
>> > Anticipadamente gracias. Saludos.
>> > Emilio Gil.
>> >
>> >
>
>
No se que puede estar ocurriéndote, pero si utilizas el método OnInitialize
del Form y le colocas el Refresh() del Browse... igual solucionas este tema
de primer pintado.
Un Saludo,
Xevi.
"Emilio Gil" <emilio@iplasticas.com> escribió en el mensaje
news:43f35236$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
> Muchas gracias, yo lestoy utilizando con tdbfBrowse y le hago la pregunta
> acerca del valor del campo que esta en esa columna y listo de la forma:
>
> METHOD Brw1Column1DrawCell( oSender, cText, nClrText, nClrPane, lHighLite,
> hDC, aRect ) CLASS TForm2
>
>
> if Field->dato == "B"
> nClrPane := clGreen
> endif
>
> RETURN Nil
>
> pero la primera vez que se pinta el browse no me hace caso, solamente se
> colorea en el caso de que desde otra instancia le mande un refresh().
>
> Sabes como lo podría arreglar.
>
> Gracias.
> Emilio Gil.
>
>
> Xevi escribió:
>> Emilio,
>> Utiliza el método OnDrawCel de la Columna.
>> Incluso puedes cambiar la fuente...
>> Yo lo estoy utilizando así...
>> METHOD Browse2ColumnsDrawCell( oSender, cText, nClrText, nClrPane,
>> lHighLite, hDC, aRect ) CLASS TFrmORAlbarans
>> If ::oBrowse2:nArrayAt > 0 .and. ::oBrowse2:nArrayAt <= Len(
>> ::oBrowse2:aArrayData )
>> If !Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,1] ) .and.;
>> Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,2] ) .and.;
>> Empty( ::oBrowse2:aArrayData[::oBrowse2:nArrayAt,3] )
>> SelectObject( hDC, ::oFontNegreta:Handle )
>> If( !lHighLite, nClrPane := clInfoBk, )
>> Else
>> SelectObject( hDC, ::oFontNormal:Handle )
>> If( !lHighLite, nClrPane := clWindow, )
>> EndIf
>> EndIf
>> RETURN Nil
>> Un Saludo,
>> Xevi,
>> "Emilio Gil" <emilio@iplasticas.com <mailto:emilio@iplasticas.com>>
>> escribió en el mensaje news:43f3013c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> > Quisiera en un Browse colorear un grupo de celdas en función del
>> valor
>> > de las mismas. p.e. colorear de rojo la celda cuando su valor sea "A"
>> y de
>> > verde cuando su valor sea "B". Es posible ??
>> >
>> > Anticipadamente gracias. Saludos.
>> > Emilio Gil.
>> >
>> >
>
>