Это относится к моему вопросу, который я разместил ранее Необходимо узнать, как пометить поле в коллекции документов, которая находится в элементе управления повторением
Я пытаюсь получить доступ к панели, которая находится в элементе управления повторением, используя API xPages, но мне это не удалось, потому что, когда я пытаюсь получить дескриптор элемента управления повтором и пытаюсь пройти через его дочерние элементы, я получаю только строку таблицы и ячейки, которые помещаются в панель, но я не получаю панель как дочерний элемент повтора. Вот код, который я использую для этого. Пожалуйста, предложите, есть ли другой способ получить доступ к панели в повторе. Мне нужно так, чтобы получить доступ к источникам данных на панели, чтобы сохранить их по отдельности.
function getComponentValueInRepeat(strRepeatID, strCompID, tmpRowIndex) {
var repeatComp:com.ibm.xsp.component.UIRepeat = getComponent(strRepeatID);
var rowIndex = 1;
if (null != repeatComp) {
var repeatList:java.util.Iterator = repeatComp.getFacetsAndChildren();
var repeatContainer:com.ibm.xsp.component.UIRepeatContainer = null;
var entityComponent:javax.faces.component.UIComponent = null;
while (repeatList.hasNext()){
repeatContainer = repeatList.next();
var componentList = repeatContainer.getChildren();
while (componentList.length == 1 &&
(componentList[0].getClass().getName().equals("com.ibm.xsp.component.xp.XspTable") |
componentList[0].getClass().getName().equals("com.ibm.xsp.component.xp.XspTableRow"))) {
componentList = componentList[0].getChildren();
}
for (compArrLoopCont = 0 ; compArrLoopCont < componentList.length; compArrLoopCont++) {
entityComponent = componentList[compArrLoopCont];
if (entityComponent.getChildCount() == 1 &&
entityComponent.getClass().getName().equals("com.ibm.xsp.component.xp.XspTableCell")) {
entityComponent = entityComponent.getChildren();
entityComponent = entityComponent[0];
}
if (entityComponent.getId().equals(strCompID) && tmpRowIndex == rowIndex) {
if (null == entityComponent.getValue()) {
return "";
} else {
return entityComponent.getValue();
}
}
}
//print ("hello +++ " + entityComponent[0].getId());
rowIndex++;
}
} else {
print ("exception...");
}
xp:repeatиxp:panelвнутри него поможет лучше понять вашу проблему. - person Naveen   schedule 17.12.2013