Página 1 de 1

Mi control DBNavigator

Publicado: Jue Feb 05, 2009 11:47 am
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

Mi control DBNavigator

Publicado: Vie Feb 06, 2009 4:53 pm
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