Como hacer que si activo la filterbar y por ejemplo tengo un campo logico,
el usuario escriba SI y el browse interprete .T.?
Un saludo
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.
SOBRE Filterbar y browse
-
- Mensajes: 532
- Registrado: Mié Feb 09, 2005 6:20 pm
SOBRE Filterbar y browse
Me apunto a la pregunta de Francisco.
¿Como puedo hacer eso con un campo fecha?
Paco V
"Francisco Sanchez" <francisco@softwaretotal.biz> escribió en el mensaje
news:436cb69f$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Como hacer que si activo la filterbar y por ejemplo tengo un campo logico,
> el usuario escriba SI y el browse interprete .T.?
>
> Un saludo
>
¿Como puedo hacer eso con un campo fecha?
Paco V
"Francisco Sanchez" <francisco@softwaretotal.biz> escribió en el mensaje
news:436cb69f$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Como hacer que si activo la filterbar y por ejemplo tengo un campo logico,
> el usuario escriba SI y el browse interprete .T.?
>
> Un saludo
>
-
- Mensajes: 532
- Registrado: Mié Feb 09, 2005 6:20 pm
SOBRE Filterbar y browse
ya te respondo yo, me parece que las filterbar tienes que escribir tu todo
por ejemplo : "01/01/2005" sin las comillas claro. El no te pinta las barras
no distingue el tipo de campo que es me parece.
Un saludo
"Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
news:[email=436dddbd@ozsrvnegro.ozlan.local...]436dddbd@ozsrvnegro.ozlan.local...[/email]
> Me apunto a la pregunta de Francisco.
> ¿Como puedo hacer eso con un campo fecha?
>
> Paco V
> "Francisco Sanchez" <francisco@softwaretotal.biz> escribió en el mensaje
> news:436cb69f$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Como hacer que si activo la filterbar y por ejemplo tengo un campo
>> logico, el usuario escriba SI y el browse interprete .T.?
>>
>> Un saludo
>>
>
>
por ejemplo : "01/01/2005" sin las comillas claro. El no te pinta las barras
no distingue el tipo de campo que es me parece.
Un saludo
"Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
news:[email=436dddbd@ozsrvnegro.ozlan.local...]436dddbd@ozsrvnegro.ozlan.local...[/email]
> Me apunto a la pregunta de Francisco.
> ¿Como puedo hacer eso con un campo fecha?
>
> Paco V
> "Francisco Sanchez" <francisco@softwaretotal.biz> escribió en el mensaje
> news:436cb69f$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Como hacer que si activo la filterbar y por ejemplo tengo un campo
>> logico, el usuario escriba SI y el browse interprete .T.?
>>
>> Un saludo
>>
>
>
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
SOBRE Filterbar y browse
Francisco,
Como puedes ver en la documentación de forma bastante extensa toda la magia
se hace con la propiedad oColumn:FilterEval que puede ser bien una cadena de
texto o un codeblock. Te remito a ella para más información.
El browse por defecto siempre hace la búsqueda de la cadena introducida
dentro de la columna EN BASE A COMO SE MUESTRA, es decir, si tu columna
muestra valores .T. y .F. entonces para buscar filas con valor verdadero el
usuario deberá poner una 'T' por ejemplo.
Lo más normal es que muestres los campos lógicos de otra forma más amigable,
por ejemplo, con el clásico: 'Si' - 'No'. y para ello no tienes más que o
bien crear un campo calculado, que me parece excesivo, o cambiar el evento
OnGetData para que cuando sea verdadero devuelva "Si" y "No" en caso de que
no lo sea. Algo así:
METHOD DBBrowse1Column10GetData( oSender, cText, nImage ) CLASS TForm1
if oSender:oDataField:FieldGet()
cText := "Si"
else
cText := "No"
endif
RETURN Nil
Y en dicho caso la operación de filtro FUNCIONARA CON EL TEXTO 'Si' y 'No'
Ahora bien, supongamos que queremos mantener la visualización con '.T.' y
'.F.' pero que sin embargo reconozca el filtrado con 'Si' y 'No', algo poco
útil a mi modo de ver. En dicho caso no modificariamos el evento OnGetData
de la columna sino que modificariamos la propiedad FilterEval de la
siguiente forma:
oCol:FilterEval := "'%' = iif( NombreCampo, 'Si', 'No' )"
% es el texto que introduce el usuario en el filtrado
Un saludo,
"Francisco Sanchez" <francisco@softwaretotal.biz> escribió en el mensaje
news:436cb69f$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Como hacer que si activo la filterbar y por ejemplo tengo un campo logico,
> el usuario escriba SI y el browse interprete .T.?
>
> Un saludo
>
Como puedes ver en la documentación de forma bastante extensa toda la magia
se hace con la propiedad oColumn:FilterEval que puede ser bien una cadena de
texto o un codeblock. Te remito a ella para más información.
El browse por defecto siempre hace la búsqueda de la cadena introducida
dentro de la columna EN BASE A COMO SE MUESTRA, es decir, si tu columna
muestra valores .T. y .F. entonces para buscar filas con valor verdadero el
usuario deberá poner una 'T' por ejemplo.
Lo más normal es que muestres los campos lógicos de otra forma más amigable,
por ejemplo, con el clásico: 'Si' - 'No'. y para ello no tienes más que o
bien crear un campo calculado, que me parece excesivo, o cambiar el evento
OnGetData para que cuando sea verdadero devuelva "Si" y "No" en caso de que
no lo sea. Algo así:
METHOD DBBrowse1Column10GetData( oSender, cText, nImage ) CLASS TForm1
if oSender:oDataField:FieldGet()
cText := "Si"
else
cText := "No"
endif
RETURN Nil
Y en dicho caso la operación de filtro FUNCIONARA CON EL TEXTO 'Si' y 'No'
Ahora bien, supongamos que queremos mantener la visualización con '.T.' y
'.F.' pero que sin embargo reconozca el filtrado con 'Si' y 'No', algo poco
útil a mi modo de ver. En dicho caso no modificariamos el evento OnGetData
de la columna sino que modificariamos la propiedad FilterEval de la
siguiente forma:
oCol:FilterEval := "'%' = iif( NombreCampo, 'Si', 'No' )"
% es el texto que introduce el usuario en el filtrado
Un saludo,
"Francisco Sanchez" <francisco@softwaretotal.biz> escribió en el mensaje
news:436cb69f$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Como hacer que si activo la filterbar y por ejemplo tengo un campo logico,
> el usuario escriba SI y el browse interprete .T.?
>
> Un saludo
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
SOBRE Filterbar y browse
Paco,
> ¿Como puedo hacer eso con un campo fecha?
No hay que hacer nada. Funciona correctamente con campos fecha sin ninguna
intervención adicional del programador.
Un saludo,
"Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
news:[email=436dddbd@ozsrvnegro.ozlan.local...]436dddbd@ozsrvnegro.ozlan.local...[/email]
> Me apunto a la pregunta de Francisco.
> ¿Como puedo hacer eso con un campo fecha?
>
> Paco V
> "Francisco Sanchez" <francisco@softwaretotal.biz> escribió en el mensaje
> news:436cb69f$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Como hacer que si activo la filterbar y por ejemplo tengo un campo
>> logico, el usuario escriba SI y el browse interprete .T.?
>>
>> Un saludo
>>
>
>
> ¿Como puedo hacer eso con un campo fecha?
No hay que hacer nada. Funciona correctamente con campos fecha sin ninguna
intervención adicional del programador.
Un saludo,
"Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
news:[email=436dddbd@ozsrvnegro.ozlan.local...]436dddbd@ozsrvnegro.ozlan.local...[/email]
> Me apunto a la pregunta de Francisco.
> ¿Como puedo hacer eso con un campo fecha?
>
> Paco V
> "Francisco Sanchez" <francisco@softwaretotal.biz> escribió en el mensaje
> news:436cb69f$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Como hacer que si activo la filterbar y por ejemplo tengo un campo
>> logico, el usuario escriba SI y el browse interprete .T.?
>>
>> Un saludo
>>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com