PDA

Ver la Versión Completa : Filtrar RxMemoryData


marilinspi
02-10-2013, 23:12:34
Hola a todos, recurro a ustedes porque necesito filtrar un RxMemoryData y ya he probado las siguientes formas y no lo he logrado

RxM.Filtered := False;
RxM.Filter := 'Periodo = 1';
Rxm.Filtered := True;

y esta otra... en el evento OnFilterRecord del TRxmemoryTable

Accept := (Periodo= 1);

y nada... y como veo que los post en lo que he buscado son de hace varios años atrás, tal vez alguien descubrió una nueva forma de hacerlo y que funcione. Gracias desde ya.

jhonny
03-10-2013, 17:21:00
Con esos componentes funciona el método 2do que acabas de utilizar:

Accept := (Periodo= 1);

Pero para que se dispare en alguna parte del código deberás colocar el Filtered en True. Cosa que comúnmente se ve así:

RxM.Filtered := False;
Rxm.Filtered := True;

marilinspi
03-10-2013, 22:09:12
hola Jhonny, gracias por tu respuesta, si si lo puse... desactive y active el filtro después de que abrí el Rxm pero nada no hace nada.... no se en que le estoy errando...

jhonny
03-10-2013, 22:39:29
hola Jhonny, gracias por tu respuesta, si si lo puse... desactive y active el filtro después de que abrí el Rxm pero nada no hace nada.... no se en que le estoy errando...

Caramba, la verdad a mi siempre me ha funcionado ese método, ¿Sera que el evento no esta conectado al memorydata o quizá sea la versión de las Rx? o verifica que en la propiedad Filter no haya nada.

marilinspi
03-10-2013, 22:54:53
hola jhonny, si el evento esta conectado, porque haciendo la marca y siguiéndolo con F7 pasa montón de veces por ahí...
la versión que tengo es RxLib 2.75 Full...
y en las propiedades no tengo la propiedad Filter, si tengo la Filtered... que la dejo en False

al Rxm le ate un DataSource y a su vez una grilla para que me muestre lo que hay en el Rxm, cuando la linea Accept := (Periodo= 1); esta activa no me muestra ningún registro, si yo agarro y trabo '//' esa linea, me muestra todos todos...

marilinspi
03-10-2013, 23:24:32
Hola jhonny, ahí me funciono después de ver una paginas rusas, me dieron una pista... así quedo

Accept := Rxm.FieldByName('Periodo').AsString ='1';


Gracias por tu interés y tus respuestas.

jhonny
03-10-2013, 23:54:35
Hola jhonny, ahí me funciono después de ver una paginas rusas, me dieron una pista... así quedo

Accept := Rxm.FieldByName('Periodo').AsString ='1';


Gracias por tu interés y tus respuestas.

Ahhh caramba!, sí tienes razón, bueno, la verdad asumí que cuando decías "periodo" te referías al campo del dataset, en fin un enredo mental muy chistoso... total, que bueno que ya revelaste el misterio :).