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.

SOBRE Filterbar y browse

Foro de Xailer profesional en español
Responder
Francisco Sanchez
Mensajes: 532
Registrado: Mié Feb 09, 2005 6:20 pm

SOBRE Filterbar y browse

Mensaje por Francisco Sanchez »

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
paco-ssi
Mensajes: 390
Registrado: Lun Feb 07, 2005 4:17 pm

SOBRE Filterbar y browse

Mensaje por paco-ssi »

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
>
Francisco Sanchez
Mensajes: 532
Registrado: Mié Feb 09, 2005 6:20 pm

SOBRE Filterbar y browse

Mensaje por Francisco Sanchez »

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
>>
>
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9447
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

SOBRE Filterbar y browse

Mensaje por ignacio »

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
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9447
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

SOBRE Filterbar y browse

Mensaje por ignacio »

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
>>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder