Arrays 使用作用域变量作为数据源的xPages repeat控件

Arrays 使用作用域变量作为数据源的xPages repeat控件,arrays,scope,xpages,datasource,repeat,Arrays,Scope,Xpages,Datasource,Repeat,我需要构建使用作用域变量作为数据源的重复控件(视图或数据表)。作用域变量应该是一个数组。。甚至只是javaScript数组 作用域变量: viewScope.MY_TEST = new Array(); viewScope.MY_TEST.push("Test1"); viewScope.MY_TEST.push("Test2"); 或数组: var my_arr = new Array(); my_arr.push("Test1"); my_arr.push("Test2"); 甚至是对象

我需要构建使用作用域变量作为数据源的重复控件(视图或数据表)。作用域变量应该是一个数组。。甚至只是javaScript数组

作用域变量:

viewScope.MY_TEST = new Array();
viewScope.MY_TEST.push("Test1");
viewScope.MY_TEST.push("Test2");
或数组:

var my_arr = new Array();
my_arr.push("Test1");
my_arr.push("Test2");
甚至是对象/二维数组:

viewScope.MY_TEST = [];
viewScope.MY_TEST .push([value1, value2]);
因此,重复控制应包含例如两个计算字段 一个绑定到值1,另一个绑定到值2

或者给我一个一维数组的例子


谢谢

我理解您的问题,您希望在重复控件中使用二维viewScope变量

您可以通过以下方式在JavaScript中定义这样一个二维数组:

viewScope.myTest=
[“Val_1_1”、“Val_1_2”]、[“Val_2_1”、“Val_2_2”]、[“Val_3_1”、“Val_3_2”];
或类似于第三个代码段:

viewScope.myTest=[];
viewScope.myTest.push([“Val_1_1”,“Val_1_2]”);
viewScope.myTest.push([“Val_2_1”,“Val_2_2]”);
viewScope.myTest.push([“Val_3_1”,“Val_3_2]”);
repeat控件迭代第一个数组级别,并将第二个级别写入变量


 

您可以使用
行[0]
行[1]
访问值

此示例呈现以下输出:

Val_1_1 Val_1_2
Val_2_1 Val_2_2
Val_3_1 Val_3_2

值得一看java.util.ArrayList或java.util.HashMap。第一个是一维对象,第二个是二维对象。您可能会获得更好的typeahead支持。HashMap可能看起来很吓人,但实际上您对它非常熟悉——作用域变量就是HashMap
myMap.keySet()
是用来作为重复的“值”,然后假设
var=“key”
您可以使用
myMap.get(key)
来获取值

如果您想使用JavaScript对象,请看我去年在TLCC的网络研讨会上与Mike McGarel进行的2013年IBM Connect会话中所做的视频“这不是大力神……”。我就是这么做的