Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

xPages repeat control with scoped variable as data source

I need to build repeat control or (view or data table) that uses scoped variable as data source. And the scoped variable should be an array.. Or even just javaScript array..

scoped variable:

viewScope.MY_TEST = new Array();
viewScope.MY_TEST.push("Test1");
viewScope.MY_TEST.push("Test2");

or array:

var my_arr = new Array();
my_arr.push("Test1");
my_arr.push("Test2");

or even an object/two dimensional array:

viewScope.MY_TEST = [];
viewScope.MY_TEST .push([value1, value2]);

so repeat control should contain e.g. two computed fields one is bind to value1, another to value2...

Or give me an example of just one dimensional array..

Thank you

like image 983
VladP Avatar asked May 20 '26 13:05

VladP


1 Answers

I understand your question the way that you want to use a two dimensional viewScope variable in your repeat control.

You can define such a two dimensional array in JavaScript this way:

viewScope.myTest = 
       [["Val_1_1", "Val_1_2"], ["Val_2_1", "Val_2_2"], ["Val_3_1", "Val_3_2"]];

or similar to your third code snippet:

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"]);

The repeat control iterates through the first array level and writes the second level into a variable row:

<xp:repeat
    id="repeat1"
    rows="30"
    var="row"
    value="#{viewScope.myTest}">
    <xp:text value="#{row[0]}" />
    &#160;
    <xp:text value="#{row[1]}" />
    <br />
</xp:repeat>

You can access the values with row[0] and row[1].

This example renders the following output:

Val_1_1 Val_1_2
Val_2_1 Val_2_2
Val_3_1 Val_3_2
like image 98
Knut Herrmann Avatar answered May 22 '26 07:05

Knut Herrmann



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!