Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Interceptar [Prior,Next] al evento OnDataChange (https://www.clubdelphi.com/foros/showthread.php?t=64215)

geolife 22-03-2009 19:18:20

Interceptar [Prior,Next] al evento OnDataChange
 
Hola amig@s,

Solicito de vuestros sabios consejos en la siguiente cuestión:

Tengo una aplicación de base de datos, y se necesitaría interceptar el desplazamiento del cursor sobre una selección de registros, en este caso, si nos movemos hacia delante o hacia atrás.

Por ejemplo, con un DbNavigator se puede preguntar la pulsación de la tecla en cuestión, pero la verdad no llego a encontrar una forma directa, para diferenciar cuando hacemos un Prior o Next para un TDataSource genérico, por ejemplo usando el evento OnDataChange :confused:

Gracias por vuestra ayuda!

Sebas

Neftali [Germán.Estévez] 23-03-2009 12:08:48

Creo que no hay opción, sino es acceder a los métodos del TDataset asociado a ese DataSource. En ese caso si tienes eventos para detectarlo.

roman 23-03-2009 16:43:19

Cita:

Empezado por Neftali (Mensaje 342370)
En ese caso si tienes eventos para detectarlo.

¿Y cuáles eventos serían éstos? Ayer que vi esta pregunta pensé lo mismo que tú, pero los únicos eventos que se me vienen a la mente son el BeforeScroll y el AfterScroll, pero éstos detectan cualquier cambio de registro sin distinguir si fue hacia adelante, hacia atrás o cualquier otro movimiento.

// Saludos

Neftali [Germán.Estévez] 23-03-2009 17:31:08

Cita:

Empezado por roman (Mensaje 342398)
¿Y cuáles eventos serían éstos? Ayer que vi esta pregunta pensé lo mismo que tú, pero los únicos eventos que se me vienen a la mente son el BeforeScroll y el AfterScroll, pero éstos detectan cualquier cambio de registro sin distinguir si fue hacia adelante, hacia atrás o cualquier otro movimiento.

Hola Román. Pues en esos mismos son los que estaba pensando yo. No se porqueé tenía en mente que daban información para saber lo que necesitamos con seguridad. :o

Ahora sólo se me ocurre alguna forma de obtener esa información combinando ambos, pero eso dependerá de los datos de la tabla (si hay alguno que nos puede brindar una referencia para comparar antes y después).
Habría que probar a acceder al RecNo del TDataset asociado, aunque tampoco es un método que me guste y no siempre obtendremos resultado.
:confused::confused::confused:

geolife 23-03-2009 18:08:00

Gracias Neftali & Roman por vuestro interés :).

Estoy con esta cuestión como vosotros. Habia pensado en utilizar el RecNo y un contador secundario para saber si sumamos o restamos, pero no se si resulta lo más elegante y eficaz, ya que cuando se van haciendo consultas al servidor con la clausula LIMIT, cada vez que pedimos un nuevo subgrupo de registros, vuelta a empezar....





Cita:

Empezado por Neftali (Mensaje 342408)
Hola Román. Pues en esos mismos son los que estaba pensando yo. No se porqueé tenía en mente que daban información para saber lo que necesitamos con seguridad. :o

Ahora sólo se me ocurre alguna forma de obtener esa información combinando ambos, pero eso dependerá de los datos de la tabla (si hay alguno que nos puede brindar una referencia para comparar antes y después).
Habría que probar a acceder al RecNo del TDataset asociado, aunque tampoco es un método que me guste y no siempre obtendremos resultado.
:confused::confused::confused:



La franja horaria es GMT +2. Ahora son las 01:52:49.

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