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);
}
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>
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"/>
var="treeItem"
styleClass="tree"
nodeClass="treenode"
headerClass="treeHeader"
footerClass="treeFooter"
rowClasses="a, b"
columnClasses="col1, col2"
selectedNodeClass="treenodeSelected"
expandRoot="true"/>
Thanks,
--Todd