1.) I am trying to populate a tree model, at this point I have:
 
ListIterator trans = transactList.listIterator(transactList.size());
               
while(trans.hasNext()) {
    TransactRow row = (TransactRow) trans.next();
    DefaultMutableTreeNode root = new DefaultMutableTreeNode(row);
}
this.treeModel = new DefaultTreeModel(root);
 
Depending what on the number of TransactRow objects returned from my transactList.listIterator, how do I define a placeholder (???) for any number of t:tree components?
 
 
2.) Also, I see I can pass in a userObject into the constructor for DefaultMutableTreeNode.
 
I'd like to populate the display with the fields from the row (TransactRow) object.
 
Do I need to add one t:treeColumn and a h:column for each field, such as:
 
<t:tree id="tree" value="#{tbrowser.treeModel}"
var="treeItem"
styleClass="tree"
nodeClass="treenode"
headerClass="treeHeader"
footerClass="treeFooter"
rowClasses="a, b"
columnClasses="col1, col2"
selectedNodeClass="treenodeSelected"
expandRoot="true">
<t:treeColumn>
<f:facet name="header">
<h:outputText value="Transaction ID" />
</f:facet>
<h:outputText value="#{treeItem.TRANSACT_ID}" />
</t:treeColumn>
<h:column>
<f:facet name="header">
<h:outputText value="Transaction Type ID" />
</f:facet>
<h:outputText value="#{treeItem.XACTTYPE_ID}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Element ID" />
</f:facet>
<h:outputText value="#{treeItem.ELEMENT_ID}" />
</h:column>
</t:tree>
 
Or can I just do the following and not specify each column?
Would t:tree dynamically build the columns?
 
<t:tree id="tree" value="#{tbrowser.treeModel}"
var="treeItem"
styleClass="tree"
nodeClass="treenode"
headerClass="treeHeader"
footerClass="treeFooter"
rowClasses="a, b"
columnClasses="col1, col2"
selectedNodeClass="treenodeSelected"
expandRoot="true"/>
 
Thanks,
 
--Todd

 
 
 

Reply via email to