[JBoss Seam] - Re: 2 DataModel questions
by bfo81
I haven't seen a Seam example for that. It's been something else but that's a long time ago.
Well, I just tried something out. I have a list of persons (my favorite example here in the seam forum *g*), and the person has friends (that are persons, too).
In that list of persons each person has a column where all friends are listed:<h:dataTable var="person" value="#{personList.entries}">
|
| <h:column>#{person.name}</h:column>
| <h:column>#{person.nick}</h:column>
| <h:column>#{person.country}</h:column>
| <h:column>
| <h:dataTable var="friend" value="#{person.friends}">
| <h:column>#{friend.name}</h:column>
| </h:dataTable>
| </h:column>
| </h:dataTable>
And it works, look:
| +-------------------+-------+-------------+-----------------+
| | Stefan Berkmiller | bfo81 | Deutschland | Frank Hoyer |
| | | | | Florian Mueller |
| | | | | ... |
| +-------------------+-------+-------------+-----------------+
| | .....
Problem here: The datatable is shown for every person. You may add a link "Show Friends" that stores the id. Well, look:
Your bean:
| @RequestParameter
| private Long personId;
|
| @Out(required=false)
| private Long showFriendsForPersonId;
|
| public String showFriends() {
| showFriendsForPersonId = personId;
| return null;
| }
And then your Detail column should be like this:
| <h:column>
|
| <h:commandLink value="Show Friends" action="#{yourBean.showFriends}" rendered="#{showFriendsForPersonId != person.id}">
| <f:param name="personId" value="#{person.id}">
| </h:commandLink>
|
| <h:dataTable ... rendered="#{showFriendsForPersonId == person.id}">
| shows friends, see above
| </h:column>
| ...
Then there is always only one person whose friends are shown and the other persons have a "Show Friends" link.
Is that about what you're looking for?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3968615#3968615
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3968615
18 years, 4 months