Página 1 de 1

colorear brows

Publicado: Mié Feb 15, 2006 11:26 am
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.

colorear brows

Publicado: Mié Feb 15, 2006 11:28 am
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.
>
>
--

colorear brows

Publicado: Mié Feb 15, 2006 5:11 pm
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.
> >
> >

colorear brows

Publicado: Mié Feb 15, 2006 5:21 pm
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.
>> >
>> >
>
>