Estimados:
En un TDBCardBox que está asociado a un TMemDataSet deseo acceder al registro del dataset correspondiente a la tarjeta sobre la que se hizo click.
Para ello hago:
METHOD DBCardBox1CardClick( oSender, oItem, nPos, nX, nY ) CLASS ....
oMDS:=oSender:oDataSet // Me da referencia al Dataset vinculado !
Pero si quiero acceder a un campo del dataset, por ejemplo:
oMDS:USUARIO
Me devuelve siempre el mismo 'registro' mas allá de que cambie el click a otra tarjeta ( Siempre es el último )
Pareciese que el MemDataSet no esta sincronizado con la posicion en pantalla.
Intenté acceder de otra manera....
oMDS:Getrow() // Devuelve Array Vacio
aFila:=oSender:aData // Matriz de TCardBox ... Inaccesible, da error
El problema es que NO puedo obtener referencia a la tarjeta sobre la que se hizo click !
Cualquier sugerencia es bienvanida
Gracias por su tiempo.
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Problema TDBCardBox-CardBoxClick
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Problema TDBCardBox-CardBoxClick
Hola Claudio,
Entiendo tu problema. Actualmente sólo la propiedad TDBCardBox:nIndex que se corresponde con un Recno() (o similar) de la tarjeta activa. En el evento OnClick recibes un parámetro de nombre nPos que te indica la posición de la tarjeta en la ventana, pero efectivamente con dicha información no hay manera de saber el recno() de dicha tarjeta.
Tengo que pensar si existe una forma sencilla de solucionar el asunto, pero mientras tanto, te propongo esta solución:
1) Crea un 'dummy' TDBCardItem simplemente indicando que su nSize es cero. En dicho TDbCardItem guarda el recno.
2) En el evento TDBCardBox:OnCardClick() simplemente utiliza la expresión oMyDummyCardBoxItem:Value para recuperar el recno.
Eso es todo.
Un saludo
Entiendo tu problema. Actualmente sólo la propiedad TDBCardBox:nIndex que se corresponde con un Recno() (o similar) de la tarjeta activa. En el evento OnClick recibes un parámetro de nombre nPos que te indica la posición de la tarjeta en la ventana, pero efectivamente con dicha información no hay manera de saber el recno() de dicha tarjeta.
Tengo que pensar si existe una forma sencilla de solucionar el asunto, pero mientras tanto, te propongo esta solución:
1) Crea un 'dummy' TDBCardItem simplemente indicando que su nSize es cero. En dicho TDbCardItem guarda el recno.
2) En el evento TDBCardBox:OnCardClick() simplemente utiliza la expresión oMyDummyCardBoxItem:Value para recuperar el recno.
Eso es todo.
Un saludo
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Problema TDBCardBox-CardBoxClick
Buenos días,
No hay que hacer nada nuevo
El tercer parámetro <nPos> recibe el Recno.
Saludos
No hay que hacer nada nuevo
El tercer parámetro <nPos> recibe el Recno.
Saludos