Hi,
My project is build in JSF, Hibernate and Faclets. i m using trinidad
treetable tag to build a tree with multiselection nodes. Now i m facing a
problem to initially selection of the nodes when page is loaded at the first
time. i have tried alot to accomplish this task, but still unable to retain
it. There is an attribute of "selectedRowKeys" in TreeTable which takes the
object of "RowKeySet", but when i am building the tree in my bean, i don't
know the RowKeys generated, so how do i get my desired RowKeys to be
selected in the tree?
i am trying to provide the code below
myTree.xhtml
<tr:treeTable id="testTreeTable"
value="#{RoleManageBean.tree}"
var="node"
rowSelection="multiple"
initiallyExpanded="true"
rowBandingInterval="1"
horizontalGridVisible="true"
verticalGridVisible="true"
selectedRowKeys="#{
RoleManageBean.selectedRowKeys}">
<f:facet name="actions">
<tr:commandButton id="treeTableSelectButton"
text="Submit Sel." action="#{RoleManageBean.treeTableSelect}" />
</f:facet>
<f:facet name="nodeStamp">
<tr:column headerText="Name">
<tr:outputText value="#{node.name}"/>
</tr:column>
</f:facet>
<f:facet name="pathStamp">
<tr:outputText value="#{node.name}"/>
</f:facet>
</tr:treeTable>
MyBean.java
public class RoleManageBean implements Serializable {
private TreeModel tree;
private RowKeySet selectedRowKeys = null;
public TreeModel getTree() throws Exception {
Application[] applications = dbops.getAllApplications();
List<Node1> empty1 = Collections.emptyList();
List<Node1> root1 = new ArrayList<Node1>();
List<Node1> apps = new ArrayList<Node1>();
for (Application application : applications) {
Set<ApplicationPage> appPages =
application.getApplicationPage();
List<Node1> pages = new ArrayList<Node1>();
for (ApplicationPage applicationPage : appPages) {
pages.add(new Node1(applicationPage.getPageName(),
String.valueOf(applicationPage.getPageID()), empty1));
}
apps.add(new Node1(application.getApplicationName(),
String.valueOf(application.getHomePage().getPageID()), pages));
}
root1.add(new Node1("Applications", "0", apps));
tree = new ChildPropertyTreeModel(root1, "children");
return tree;
}
public RowKeySet getSelectedRowKeys() {
selectedRowKeys = new RowKeySetImpl();
selectedRowKeys.add(String.valueOf("1,0"));
System.out.println("called");
return selectedRowKeys;
}
public void setSelectedRowKeys(RowKeySet selectedRowKeys) {
this.selectedRowKeys = selectedRowKeys;
}
Any guideline will be appriciated. Thanks in Advance
Majid.