XPages中的Repeat控件中的Repeat控件

XPages中的Repeat控件中的Repeat控件,xpages,lotus-notes,lotus-domino,lotus,Xpages,Lotus Notes,Lotus Domino,Lotus,我在另一个重复控件中有一个重复控件。其概念是创建类似日历的东西。所以我想创建一个二维的重复,我用一个重复垂直地创建“行”,在它里面另一个重复水平地创建列。第二个repeat控件在div控件中有一个输入文本控件。代码如下: <xp:repeat id="repeat4" rows="30"> <xp:this.value> <![CDATA[#{javascript:var projects2 = new Array("Project 1","

我在另一个重复控件中有一个重复控件。其概念是创建类似日历的东西。所以我想创建一个二维的重复,我用一个重复垂直地创建“行”,在它里面另一个重复水平地创建列。第二个repeat控件在div控件中有一个输入文本控件。代码如下:

    <xp:repeat id="repeat4" rows="30">
        <xp:this.value>
<![CDATA[#{javascript:var projects2 = new Array("Project 1","Project 2");
    return projects2;}]]>
</xp:this.value>
<xp:repeat id="repeat3" rows="31">
<xp:this.value><![CDATA[#{javascript:var inBoxes = new java.util.Vector();
    for(i=1;i<=5;i++){
        inBoxes.add(i);
    }

    return inBoxes;}]]>
</xp:this.value>
    <xp:div id="DivInputs" styleClass="DivInputs">
  <xp:inputText id="inputText1"
 style="width:100%">
 </xp:inputText>
    </xp:div>
    </xp:repeat>
   </xp:repeat>
但当我执行此循环时,它仅获取第一行单元格值:

for(i=0;i<2;i++){
repeat4.setRowIndex(i);
repeat3.setRowIndex(0);
sum = sum + inputText1.getValueAsString();
}

for(i=0;i您需要更改您的方法。应该使用绑定而不是getValue来查找值。因此,请执行以下操作

  var x = [[0,0,0,0,0,0,0],[...],....];
  viewScope.calendar = x;
然后将控件绑定到变量。这样就不需要检查确切的位置或变量名

  var x = [[0,0,0,0,0,0,0],[...],....];
  viewScope.calendar = x;