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.

colorear brows

Foro de Xailer profesional en español
Responder
Emilio Gil
Mensajes: 48
Registrado: Mié Nov 23, 2005 5:08 pm

colorear brows

Mensaje por Emilio Gil »

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.
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

colorear brows

Mensaje por Xevi »

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.
>
>
--
Emilio Gil
Mensajes: 48
Registrado: Mié Nov 23, 2005 5:08 pm

colorear brows

Mensaje por Emilio Gil »

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.
> >
> >
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

colorear brows

Mensaje por Xevi »

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.
>> >
>> >
>
>
Responder