Xpages 重复控制行不会动态更改
我想用一个按钮动态更改repeat控件的行 重复代码:Xpages 重复控制行不会动态更改,xpages,Xpages,我想用一个按钮动态更改repeat控件的行 重复代码: <xp:repeat id="repeat1" rows="30" var="myrow"> <xp:this.value><![CDATA[#{javascript:var myrows = new Array(); for (var i=0;i<viewScope.myrows;i++) { myrows[i] = (i+1).toString() }; myrows}]]&g
<xp:repeat id="repeat1" rows="30" var="myrow">
<xp:this.value><![CDATA[#{javascript:var myrows = new Array();
for (var i=0;i<viewScope.myrows;i++) {
myrows[i] = (i+1).toString()
};
myrows}]]></xp:this.value>
<xc:ccrepeat FNameStatus="status_#{myrow}">
</xc:ccrepeat>
</xp:repeat>
一个按钮会增加viewScope.myrows的值,数组也会增长(比如“1”、“2”、“3”-我会在一个计算字段中用数组的相同代码检查这一点),但我的重复控件只显示一行!
尝试了部分/完全刷新和动态/页面加载计算
当我将viewScope.myrows初始设置为更高的值(例如5)时,重复显示5行。所以问题似乎在于刷新
一定是个简单的错误,但我被卡住了。
提前谢谢你的帮助
Uwe您的错误是在计算重复控制的
时。您必须使用作用域/会话/。。。存储阵列,以便repatcontrol可以访问阵列上的任何更改。下面是它应该如何工作的示例代码:
<xp:repeat id="repeat2" rows="30" var="myrow">
<xp:this.value><![CDATA[#{javascript://
var list = viewScope.rowList;
return (list && typeof list == "string")? new Array(list):list;}]]>
</xp:this.value>
<xp:text escape="true" id="computedField4"
value="#{javascript:myrow.toString();}">
</xp:text><br></br>
</xp:repeat>
<xp:button value="addRow" id="button2">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="repeat2">
<xp:this.action><![CDATA[#{javascript:var list = viewScope.rowList;
if(list){
if(typeof list == "string"){
list = new Array(list);
}
}else{
list = new Array();
}
list.push("newRow");
viewScope.rowList = list;}]]>
</xp:this.action>
</xp:eventHandler>
</xp:button>
您可以发布按钮的代码吗?