Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Filtrar usando componente JvMemoryData (https://www.clubdelphi.com/foros/showthread.php?t=61894)

Toñico 26-11-2008 09:58:12

Filtrar usando componente JvMemoryData
 
Buenos dias a todos:

He realizado una pequeña aplicación en Delphi 6 que carga en un componente JvMemoryData una tabla de clientes.

Me gustaría poder filtrar esa tabla y que el usuario pudiera seleccionar por ejemplo los clientes de Zaragoza, pero no lo consigo.

Uso el siguiente código, aunque sin éxito:


Código Delphi [-]
MDCustomers.Filtered := False;
MDCustomers.Filter := 'fIdCity = ' + QuotedStr('Zaragoza');
MDCustomers.Filtered := True;





La aplicación no hace nada al ejecutar este código. he probado con el componente RxMemoryData y tampoco. Podría usar una base de datos Access o tablas dbf, pero preferiría no tener que usarlas para que no se generen mas archivos.

¿Alguien me puede ayudar?

Muchas gracias de antemano.

JosepGA 26-11-2008 11:41:17

Hola,

en lugar de poner la sentencia del filtro donde lo estas haciendo, prueba a ponerlo en el evento OnFilterRecord.

Tambien, a veces me ha pasado, que al hacer
Código Delphi [-]
filtered = TRUE
, si luego no hago un first de la tabla, no aplica el filtro. Prueba a ver si al componente le pasa esto.

Un saludo

Toñico 26-11-2008 19:20:23

Muchas gracias, lo pruebo y te informo.

Un saludo.

enecumene 26-11-2008 19:36:03

Hola prueba así:

Código Delphi [-]
 
MDCustomers.Filtered := False;
MDCustomers.Filter := 'fIdCity = '+QuotedStr('Zaragoza')+'';
MDCustomers.Filtered := True;

Sólo puse unas comillas faltantes.

Saludos.

Toñico 27-11-2008 17:58:10

Gracias a todos por vuestras respuestas.

He probado a meter el código en el evento OnFilterRecord y me funciona bien, así que lo voy a dejar así.

La única pega que tengo es que no puedo saber cuantos registros me está visualizando al aplicar un filtro. RecordCount me sigue diciendo el total de registros que existen en la tabla.

Cuando tenga algo de tiempo (jeje) intentaré buscar una solución.

Un saludo a todos.


La franja horaria es GMT +2. Ahora son las 08:36:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi