I have code who get all entries from a view and store them in a custom Java object
public static List<User> findUsersbyAccountId(String accountId){
List<User> list = new ArrayList<User>();
try{
ViewNavigator nav = findViewNavigatorById(VIEW_USERS, accountId);
if(nav.getCount()>0){
for (Iterator<ViewEntry> it = nav.iterator(); it.hasNext();){
Document doc = it.next().getDocument();
list.add(fillUserObject(doc));
}
}
}catch(Exception e){
XspOpenLogUtil.logError(e);
}
return list;
}
Where the fillUserObject creates an User Object and return it with all the values of a user document, like DocId and Unid
As you can see, the method returns a Java List
In my Dialog I have a DataTable where I call a controller class to get me the list as described above
I display the values in the columns, with EL, as you access every row directly my User object.
Per row I have a link
<xp:link escape="true" text=""
id="link3"
rendered="#{javascript:!compositeData.controller.showUserRemoveIcon(row)}">
<i
class="fa fa-plus-circle">
</i>
<xp:eventHandler
event="onclick" submit="true" refreshMode="partial"
refreshId="userSelections" immediate="true">
<xp:this.action>
<xp:executeScript>
<xp:this.script><![CDATA[#{javascript:compositeData.controller.addSelectedUser(row);
}]]></xp:this.script>
</xp:executeScript>
</xp:this.action>
</xp:eventHandler>
</xp:link>
I call a method addSelectedUser(row), where row is the User Object. In the method I add it to a list and do things with this object.
If you need more information let me know.