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.

lFilterBar

Foro de Xailer profesional en español
Responder
Fredy
Mensajes: 199
Registrado: Mié Mar 29, 2006 1:28 am

lFilterBar

Mensaje por Fredy »

Hola,
Quiero hacer que cuando un browse tenga lFilterBar := .t. , me cambien de
color las columnas por las que estoy filtrando en ese momento.
Para ello, en el OnDrawCell de cada columna tengo puesto:
nClrPane := If( !Empty( oSender:cFilter), clLtGray, nClrPane )
¿Hay alguna forma mejor?
Tal y como lo estoy haciendo, tengo que ir a todas las columnas del browse
y ponerles el evento OnDrawCell apuntando al método DbBrowse1Column1Drawcell
¿Hay alguna forma de hacerlo automático, en el onCreate del browse o algo
así­?
Otra cosa: ¿Dónde se guarda la "cadena" del filtro que se forma con todos
los cfilter de las columnas?
Un saludico,
Fredy
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9452
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

lFilterBar

Mensaje por ignacio »

Fredy,
Usa mejor OnFilterChange (se evalua muchísimo menos):
Te recorres el array de columnas y aquellas que tengan la propiedad cFilter
con algo les cambias el color.
Un saludo,
"Fredy" <fredy@navegandoconxailer.com> escribió en el mensaje
news:[email=a20b86f298158c85ea0ab958b7c@news.xailer.com...]a20b86f298158c85ea0ab958b7c@news.xailer.com...[/email]
> Hola,
>
> Quiero hacer que cuando un browse tenga lFilterBar := .t. , me cambien de
> color las columnas por las que estoy filtrando en ese momento.
>
> Para ello, en el OnDrawCell de cada columna tengo puesto:
>
> nClrPane := If( !Empty( oSender:cFilter), clLtGray, nClrPane )
>
> ¿Hay alguna forma mejor?
>
> Tal y como lo estoy haciendo, tengo que ir a todas las columnas del browse
> y ponerles el evento OnDrawCell apuntando al método
> DbBrowse1Column1Drawcell
>
> ¿Hay alguna forma de hacerlo automático, en el onCreate del browse o algo
> así?
>
> Otra cosa: ¿Dónde se guarda la "cadena" del filtro que se forma con todos
> los cfilter de las columnas?
>
>
> Un saludico,
> Fredy
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Fredy
Mensajes: 199
Registrado: Mié Mar 29, 2006 1:28 am

lFilterBar

Mensaje por Fredy »

Ignacio,
> Usa mejor OnFilterChange (se evalua muchí­simo menos):
>
En la 7a no funciona bien ese evento. ¿Está ya arreglado?
Un saludico,
Fredy
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9452
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

lFilterBar

Mensaje por ignacio »

Fredy,
Espero que si.
Un saludo,
"Fredy" <fredy@navegandoconxailer.com> escribió en el mensaje
news:4491633d$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Ignacio,
>
>
>> Usa mejor OnFilterChange (se evalua muchísimo menos):
>>
> En la 7a no funciona bien ese evento. ¿Está ya arreglado?
>
> Un saludico,
> Fredy
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder