2014-06-13 54 views
0

我在另一個重複控制中有重複控制。這個概念就是創造一個像日曆一樣的東西。所以我想創建一個二維重複,我用一個重複來創建「行」垂直和裏面另一個水平創建列。第二個重複控件在div控件中有一個輸入文本控件。代碼如下:重複控制在XPages裏面重複控制

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

我現在想,如果我用這個它的工作原理獲得一個輸入字段的值:

repeat4.setRowIndex(0); 
repeat3.setRowIndex(0); 
sum = sum + inputText1.getValueAsString(); 

但是當我做這個循環只只得到第一排單元格值:

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

任何想法?

回答

0

你需要改變你的方法。值應該使用綁定來完成,而不是getValue。因此,請執行如下操作:

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

然後將控件綁定到變量。這消除了檢查確切的位置或變量名稱的需要。