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.

Filtro en TDBBrowse

Foro de Xailer profesional en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Filtro en TDBBrowse

Mensaje por Xevi »

Cuando aplicamos un filtro a un TDBBrowse, manualmente, sin utilizar lFilterBar...
::oDBBrowse1:oDataSet:SetFilter( "VEHICLE == 'XXX'" )
y éste no hay registros que se cumplan y por lo tanto no debe mostrar ninguno, se muestra un registro en blanco, cuando si se hace la misma consulta utilizando la FilterBar lo hace correctamente sin mostrar ningun registro en blanco.
Lo que me sucede es que al mostrarmE un registro en blanco, se dispara el evento OnChange del Browse, y creo que el efecto que debrí­a de tener correcto es el mismo que utilizando la FilterBar.
Un Saludo,
Xevi.
--
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Filtro en TDBBrowse

Mensaje por ignacio »

Xevi,
Comrueba lo que vale oDataSet:KeyCount() y seguramente verás que no es cero. Ahí­ está el problema. La única solución es usar la propiedad lKeyExact del browse, pero es muy lento, sólo se puede usar con datasets de pocos registros, o que al limitarlos con un SetScope queden pocos registros.
Un saludo,
Nota: La FilterBar no hace otra cosa, que un simple oDataSet:SetFilter()
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Xevi" <xevicomas@gmail.com> escribió en el mensaje news:459183e9$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Cuando aplicamos un filtro a un TDBBrowse, manualmente, sin utilizar lFilterBar...
::oDBBrowse1:oDataSet:SetFilter( "VEHICLE == 'XXX'" )
y éste no hay registros que se cumplan y por lo tanto no debe mostrar ninguno, se muestra un registro en blanco, cuando si se hace la misma consulta utilizando la FilterBar lo hace correctamente sin mostrar ningun registro en blanco.
Lo que me sucede es que al mostrarmE un registro en blanco, se dispara el evento OnChange del Browse, y creo que el efecto que debrí­a de tener correcto es el mismo que utilizando la FilterBar.
Un Saludo,
Xevi.
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Filtro en TDBBrowse

Mensaje por Xevi »

Ignacio,
KeyCount() no vale cero, si eso ya lo comprobé.
El caso es que utilizando la FilterBar si no se cumple el filtrado NO muestra ningún registro en blanco... ahí­ mi consulta.
¿Porqué no reproducir el mismo efecto SIN utiliza la FilterBar???
Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> ha escrit al missatge del grup de discussió: 45923920$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Xevi,
Comrueba lo que vale oDataSet:KeyCount() y seguramente verás que no es cero. Ahí­ está el problema. La única solución es usar la propiedad lKeyExact del browse, pero es muy lento, sólo se puede usar con datasets de pocos registros, o que al limitarlos con un SetScope queden pocos registros.
Un saludo,
Nota: La FilterBar no hace otra cosa, que un simple oDataSet:SetFilter()
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Xevi" <xevicomas@gmail.com> escribió en el mensaje news:459183e9$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Cuando aplicamos un filtro a un TDBBrowse, manualmente, sin utilizar lFilterBar...
::oDBBrowse1:oDataSet:SetFilter( "VEHICLE == 'XXX'" )
y éste no hay registros que se cumplan y por lo tanto no debe mostrar ninguno, se muestra un registro en blanco, cuando si se hace la misma consulta utilizando la FilterBar lo hace correctamente sin mostrar ningun registro en blanco.
Lo que me sucede es que al mostrarmE un registro en blanco, se dispara el evento OnChange del Browse, y creo que el efecto que debrí­a de tener correcto es el mismo que utilizando la FilterBar.
Un Saludo,
Xevi.
--
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9457
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Filtro en TDBBrowse

Mensaje por ignacio »

Xevi,
Como te he comentado en mi anterior mensaje FilterBar hace exactamente lo mismo que haces tu con oDataSet:SetFilter(). Si el resultado es distinto será por otro motivo, como por ejemplo, la presencia de registros borrados, etcetera.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Xevi" <xevicomas@gmail.com> escribió en el mensaje news:[email=459257d1@news.xailer.com...]459257d1@news.xailer.com...[/email]
Ignacio,
KeyCount() no vale cero, si eso ya lo comprobé.
El caso es que utilizando la FilterBar si no se cumple el filtrado NO muestra ningún registro en blanco... ahí­ mi consulta.
¿Porqué no reproducir el mismo efecto SIN utiliza la FilterBar???
Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> ha escrit al missatge del grup de discussió: 45923920$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Xevi,
Comrueba lo que vale oDataSet:KeyCount() y seguramente verás que no es cero. Ahí­ está el problema. La única solución es usar la propiedad lKeyExact del browse, pero es muy lento, sólo se puede usar con datasets de pocos registros, o que al limitarlos con un SetScope queden pocos registros.
Un saludo,
Nota: La FilterBar no hace otra cosa, que un simple oDataSet:SetFilter()
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Xevi" <xevicomas@gmail.com> escribió en el mensaje news:459183e9$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Cuando aplicamos un filtro a un TDBBrowse, manualmente, sin utilizar lFilterBar...
::oDBBrowse1:oDataSet:SetFilter( "VEHICLE == 'XXX'" )
y éste no hay registros que se cumplan y por lo tanto no debe mostrar ninguno, se muestra un registro en blanco, cuando si se hace la misma consulta utilizando la FilterBar lo hace correctamente sin mostrar ningun registro en blanco.
Lo que me sucede es que al mostrarmE un registro en blanco, se dispara el evento OnChange del Browse, y creo que el efecto que debrí­a de tener correcto es el mismo que utilizando la FilterBar.
Un Saludo,
Xevi.
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder