Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
wiki:2.-desarrollo-app:2.3.-codigo:h.-relaciones-entre-colecciones:start [2018/01/31 14:18]
127.0.0.1 editor externo
wiki:2.-desarrollo-app:2.3.-codigo:h.-relaciones-entre-colecciones:start [2019/04/08 18:50] (actual)
ejetoro [Ejemplo]
Línea 31: Línea 31:
 </WRAP> </WRAP>
 <WRAP column 40%> <WRAP column 40%>
-^  Vista campo de enlace de tipo Lupa en BlackBerry        ^+^  Vista campo de enlace de tipo Lupa en <nowiki>BlackBerry</nowiki>        ^
 |  {{wiki:relaciones-colecciones:vista-lupa-bb.png}}       | |  {{wiki:relaciones-colecciones:vista-lupa-bb.png}}       |
 </WRAP> </WRAP>
Línea 179: Línea 179:
 </code> </code>
  
-^  PROPS  ^+^  PROPS  ^^
 |**name** |Le asigna un nombre a la propiedad. Se suele poner una "@" delante para indicar que es una propiedad que hace referencia a un content. Recomendamos su uso para distinguir y localizar con mayor facilidad dentro del mappings.| |**name** |Le asigna un nombre a la propiedad. Se suele poner una "@" delante para indicar que es una propiedad que hace referencia a un content. Recomendamos su uso para distinguir y localizar con mayor facilidad dentro del mappings.|
 |**group** |Grupo o pestaña donde aparecerá el content.| |**group** |Grupo o pestaña donde aparecerá el content.|
Línea 203: Línea 203:
  
  
-^   CONTENTS   ^+^   CONTENTS   ^^
 |**name** |Le asigna un nombre al content. Todo content tiene que tener un nombre, que deberá coincidir con el atributo contents, del punto anterior.| |**name** |Le asigna un nombre al content. Todo content tiene que tener un nombre, que deberá coincidir con el atributo contents, del punto anterior.|
 |**src** |Indica el nombre de la colección contents. Cada vez que se crea un objeto contenedor, la colección origen es copiada y se llena con aquellos objetos que le pertenezcan al contenedor únicamente. En el ejemplo que estamos poniendo (documento con líneas de detalle) el objeto contenedor es el documento (un objeto por cada registro de cabecera). Cada objeto contenedor tiene asignadas varias líneas de detalle (en una tabla enlazada) Los registros de la tabla enlazada se colocan en la colección de contenidos.| |**src** |Indica el nombre de la colección contents. Cada vez que se crea un objeto contenedor, la colección origen es copiada y se llena con aquellos objetos que le pertenezcan al contenedor únicamente. En el ejemplo que estamos poniendo (documento con líneas de detalle) el objeto contenedor es el documento (un objeto por cada registro de cabecera). Cada objeto contenedor tiene asignadas varias líneas de detalle (en una tabla enlazada) Los registros de la tabla enlazada se colocan en la colección de contenidos.|
Línea 244: Línea 244:
 ==== Ejemplo ==== ==== Ejemplo ====
 \\ \\
- +Ejemplo de un combo para seleccionar la comunidad autónoma la que pertenece un cliente:\\
-Finalmente se tiene la estructura de padre-hijo como se muestra continuación:\\+
 \\ \\
 +<code xml>
 +<!-- Este código estaría en la colección "principal" de clientes, donde queremos el combo de valores -->
 + <!-- Propiedad de tipo IDENLACE con otra colección -->
 + <prop name="IDCOMUNIDAD" visible="0" type="N" mapcol="Comunidades" mapfld="ID"/>
  
-Supongamos que tenemos dos tablas con las siguientes definiciones:\\ +        <!-- Propiedad de tipo MAPEADA --> 
-\\+        <prop name="MAP_COMUNIDAD" type="T" labelwidth="8" title="COMUNIDAD" linkedto="IDCOMUNIDAD" linkedfield="NOMBRE" showinline="true"/>
  
- +</code>
-A) **Pedidos**\\+
 \\ \\
- 
- 
-^ CAMPO                ^ DESCRIPCIÓN                              ^ 
-| ID                   | Identificador autonumérico del pedido    | 
-| NUMERO               | Número del pedido                        | 
-| IDCLIENTE            | Identificador del cliente                | 
-| FECHA                | Fecha del Pedido                         | 
 \\ \\
- +Aquí tenemos la definición de la colección que aparece dentro de dicho combo.\\
-B) **Detalles del Pedido**. Por cada pedido habrá uno o varios registros en esta tabla.\\+
 \\ \\
- +<code xml> 
- +<coll name="Comunidades" sql="SELECT * FROM ##PREF##Comunidades" objname="Comunidades" updateobj="Comunidades" progid="ASData.CASBasicDataObj" filter="" sort=""> 
-^ CAMPO                ^ DESCRIPCIÓN                                                 ^ + <group name="General" id="1"> 
-| ID                   | Identificador autonumérico del detalle                    | + <prop name="NOMBRE" type="T" title="Comunidad:" width="90%" lmargin="5%" labelwidth="6" visible="15" /> 
-| IDPEDIDO             | Identificador del pedido padre de este detalle.             | + </group> 
-| IDARTICULO           | Identificador del artículo seleccionado en este registro.   | +</coll> 
-| CANTIDAD             | Cantidad pedida del artículo en cuestión.                   | +</code>
- +
-\\ +
-Ahora vamos a crear una estructura de colecciones para manejar estos datos en una aplicación utilizando las definiciones que describimos en esta sección y la anterior. +
-Ahora vamos a crear una estructura de colecciones para manejar estos datos en una aplicación utilizando las definiciones +