¿Cómo obtener los datos de una propiedad personalizada que está en un grupo con un control personalizado en una XPAGE?

StackOverflow https://stackoverflow.com/questions/9314549

Pregunta

Estoy trabajando en un control personalizado que tiene propiedades personalizadas.

Si quiero usar el valor de una propiedad, es muy fácil. Para el valor de la propiedad "maptype" puedo usar compositedata.maptype, pero ¿cómo hago este ingenio grupos?

Por ejemplo, tengo un grupo llamado "marcador" y puede haber múltiples de ellos. Cada marcador tiene cinco propiedades: "Dirección", "Título", "Capa", "Infotext" e "Icono". ¿Cómo accedo, por ejemplo, el valor del título en el tercer marcador?

¿Fue útil?

Solución

El grupo de propiedades se interpreta como com.ibm.xsp.binding.propertymap java clase. Las múltiples instancias se interpretan como Java.Lang.ArrayList Class. Sabiendo esto lo intentaría

compositeData.Marker[2].address

para enlace de datos simple. O

compositeData.Marker.get(2).get('address')

para acceder a través de JavaScript puro.

Otros consejos

Hay muchas formas de usarlo. Es solo una colección con propiedades que puede iterar. Una forma podría ser usarlo dentro de un control repetido. Este es un ejemplo de cómo podría usarlo:

            <xp:repeat id="repeat1" rows="30"
                value="#{javascript:compositeData.Marker}"
                var="rowMarker">

                <xp:label id="lbladdress"
                    value="#javascript:rowMarker.address}">
                </xp:label>
                <xp:label id="lbltitle"
                    value="#javascript:rowMarker.title}">
                </xp:label>

            </xp:repeat>

Si desea recorrer, puede usar: para (marcador en compositedate.marker) {marker.title; }

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top