![]() |
llamar al evento OnFilterRecord
Hola
:confused: Que parametros se necesitan para llamar al evento OnFilterRecord, es que en el parametro DataSet no se que colocar, |
Al igual que con cualquier evento, no eres tú quien debe llamarlo. El evento se generará cada vez que el DataSet esté por mostrar un registro y en el código del evento decides si mostrarlo o no.
// Saudos |
Por otra parte, el parámetro DataSet no es sinó el conjunto de datos que estás filtrando en este momento. Es decir, si tu tienes un Query de facturas que filtras mediante este evento, cuando se dispare automáticamente el parámetro DataSet será tu Query de facturas.
Saludos! |
karocs:
La costumbre en los foros es tratar los temas en los mismos foros con el fin de que todos puedan beneficiarse así que traslado aquí tu mensaje privado. Cita:
El evento está diseñado precisamente para manejar filtrados más complejos que una simple comparación con un valor. Cuando el DataSet requiere mostrar un registro en un control "data aware" (por ejemplo porque te estás desplazando en un DBGrid) mira primero si está asignado el evento OnFilterRecord. De ser así, él- el DataSet - es quien hace la llamada al evento pasando la variable Accept como parámetro. En ese momento entonces es cuando se ejecuta el código que tu hayas escrito. Al finalizar la llamada el DataSet examina el valor del parámetro Accept. Si Accept es true entonces muestra el registro y en caso contrario se lo salta. En el código del evento debes entonces determinar- por los medios que sea -si se muestra o no el registro y asignar a Accept el valor true o false según sea el caso. Por poner un ejemplo, suponte que tienes una tabla de clientes con dos campos, "deuda" y "fecha_deuda" y quieres mostrar únicamente los registros con "fecha_deuda" de más de 30 días y deuda mayor que 500. En el evento OnFilterRecord pondrías:
De esta forma estás filtrando por más de un parámetro. Ahora bien, en tu pregunta mencionas "puedo de alguna forma en el mismo evento filtar por mas de un parametro o buscar un registro en especifico" Nota que filtrar y buscar son dos cosas distintas. Si lo que deseas es buscar un registro entonces puedes usar métodos como Locate. // Saludos |
Gracias a roman
roman muchiiiiiiisimas gracias, me acabas de salvar la vida ;) ;) ;) ,
|
La franja horaria es GMT +2. Ahora son las 22:05:24. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi