TDbfDataSet:ClearFilter() con filtro vac
Publicado: Dom Dic 18, 2005 5:27 pm
Hola,
Voy a intentar ser claro porque pasar este posible fallo de Xailer a un ejemplo
fuera de mi programa no sería facil:
Tengo un TDBBrowse normal. Fuera de éste tengo un TEdit que permite realizar
un filtro de la DBF que maneja el browse. El SetFilter() se ejecuta en el
OnExit del TEdit que permite introducir el valor, de forma que al pulsar
[TAB] estando en el TEdit, el TDBBrowse se actualiza mostrando únicamente
los registros que cumplen la condición. Aquí pueden darse 2 casos:
a) El filtrado da como resultado uno o más registros. Aquí todo funciona
perfecto.
b) El filtrado da como resultado 0 registros. Aquí está el problema.
El filtro se hace perfectamente en ambos casos. El problema está a la hora
de DESHACER el filtro en el caso b). Resulta que si el resultado de un filtrado
ha sido 0 registros, cuando hago el TDbfDataSet:ClearFilter() y su posterior
TDbfDataSet:GoTop(), el TDBBrowse sigue mostrándose vacío, en lugar de llenarse
con TODOS los registros de la DBF, que es lo que hace siempre que deshago
un filtro en el caso a).
Pienso que el problema puede ser de Xailer. O bien no deshace bien el filtro
en el TDbfDataSet o bien no lo refleja bien en el TDBBrowse (repito: sólo
cuando paso de un filtro con 0 registros a deshacerlo).
Espero haberlo explicado bien. Si os queda cualquier duda no dudéis en preguntarme.
Muchas gracias.
Un saludo,
Jaime Irurzun.
Voy a intentar ser claro porque pasar este posible fallo de Xailer a un ejemplo
fuera de mi programa no sería facil:
Tengo un TDBBrowse normal. Fuera de éste tengo un TEdit que permite realizar
un filtro de la DBF que maneja el browse. El SetFilter() se ejecuta en el
OnExit del TEdit que permite introducir el valor, de forma que al pulsar
[TAB] estando en el TEdit, el TDBBrowse se actualiza mostrando únicamente
los registros que cumplen la condición. Aquí pueden darse 2 casos:
a) El filtrado da como resultado uno o más registros. Aquí todo funciona
perfecto.
b) El filtrado da como resultado 0 registros. Aquí está el problema.
El filtro se hace perfectamente en ambos casos. El problema está a la hora
de DESHACER el filtro en el caso b). Resulta que si el resultado de un filtrado
ha sido 0 registros, cuando hago el TDbfDataSet:ClearFilter() y su posterior
TDbfDataSet:GoTop(), el TDBBrowse sigue mostrándose vacío, en lugar de llenarse
con TODOS los registros de la DBF, que es lo que hace siempre que deshago
un filtro en el caso a).
Pienso que el problema puede ser de Xailer. O bien no deshace bien el filtro
en el TDbfDataSet o bien no lo refleja bien en el TDBBrowse (repito: sólo
cuando paso de un filtro con 0 registros a deshacerlo).
Espero haberlo explicado bien. Si os queda cualquier duda no dudéis en preguntarme.
Muchas gracias.
Un saludo,
Jaime Irurzun.