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.

Mi control DBNavigator

Foro de Xailer profesional en español
Responder
Karl Svensson
Mensajes: 81
Registrado: Mar Oct 18, 2005 7:20 pm

Mi control DBNavigator

Mensaje por Karl Svensson »

Siguiendo con la personalización de mi control DBNavigator, quisiera crear
un segundo DataSet (oDetalle) como propiedad del control. De esta manera, la
navegación, altas y bajas, tendrá en cuenta las dos tablas vinculadas.
¿Es un enfoque apropiado?
¿Alguien me puede dar alguna indicación de cómo abordarlo?
He empezado así
PROPERTY oDetalle WRITE SetDataSet EDITOR PE_Component AS TDataSet
PROPERTY oDataField INIT " "
PROPERTY bSeek INIT {|| NIL}
Pero no me funciona cuando ejecuto
:bSeek:={|o| ::oDataSet1:Id}
::oDBNavigator1:oDetalle:=::oDataSet2
Gracias!
Karl Svensson
notengo
Mensajes: 417
Registrado: Vie Oct 12, 2007 1:29 pm

Mi control DBNavigator

Mensaje por notengo »

Karl,
> Siguiendo con la personalización de mi control DBNavigator, quisiera crear
> un segundo DataSet (oDetalle) como propiedad del control. De esta manera, la
> navegación, altas y bajas, tendrá en cuenta las dos tablas vinculadas.
En tu lugar, dejarí­a el componente TNavegador como lo tienes y derivarí­a
una clase TMasterDetailNavegador que se encargue de implementar la
funcionalidad que necesitas, así­ no complicas el diseño excesivamente.
> ¿Es un enfoque apropiado?
Depende de lo qué quieras hacer. Mira los ejemplos en samplesDataControls
y samplesBrowses, quizás te ayuden a decidir cómo lo vas a hacer.
> ¿Alguien me puede dar alguna indicación de cómo abordarlo?
En principio, sólo necesitas algo así­ en OnClickNext:
::oDBNavigator1:oDetalle:SetScope( ::oDataSet1:id, ::oDataSet1:id, .T., .T. )
Si buscas en el foro verás ejemplos de cómo relacionar una tabla padre/hija.
Saludos,
José Lalí­n
Responder