Как получить данные из пользовательского свойства в группе в пользовательском элементе управления на Xpage? - PullRequest
1 голос
/ 16 февраля 2012

Я работаю над пользовательским элементом управления, который имеет пользовательские свойства.

Если я хочу использовать значение свойства, это очень просто. Для значения свойства "maptype" я могу использовать CompositeData.maptype. Но как мне сделать это с остроумием группы?

Например, у меня есть группа под названием «Маркер», и их может быть несколько. Каждый маркер имеет пять свойств: «адрес», «заголовок», «слой», «инфотекст» и «значок». Как мне получить доступ к значению заголовка на третьем маркере?

Ответы [ 3 ]

0 голосов
/ 17 февраля 2012

группа свойств интерпретируется как Java-класс com.ibm.xsp.binding.PropertyMap.Несколько экземпляров интерпретируются как класс java.lang.ArrayList.Зная это, я бы попробовал

compositeData.Marker[2].address

для простого связывания данных.Или

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

для доступа через чистый JavaScript.

0 голосов
/ 12 сентября 2012

Если вы хотите зациклить, вы можете просто использовать: для (маркер в CompositeDate.Marker) { marker.title; }

0 голосов
/ 16 февраля 2012

Есть много способов его использовать.Это просто коллекция со свойствами, которые вы можете перебирать.Одним из способов может быть использование его внутри повторного контроля.Вот пример, как вы могли бы использовать его:

            <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>
...