Hi everybody, I have a problem with the disclosedRowKeys in a treeTable. I used ADF Faces so far and everything worked well using the treeState attribute.
When I load the treeTable for the first time I want it to be expanded more
than one level (see attached image) in some cases. This works well for ADF
if I just set the according paths (the rowKeys) to expand in the treeState.
In Trinidad, however, these changes seem to be ignored. I always just see
the root nodes and then I must expand the nodes manually.
I use Trinidad version 1.0.1 as I couldn't get 1.2.1 running.
<tr:treeTable
id="treeTable"
inlineStyle="margin-top:10px; height:400px; position:relative;
overflow:auto;"
partialTriggers="treeTable:showDetails detailsShowLink"
var="row"
value="#{treeTableDataBean.model}"
rendered="true"
binding="#{treeTablePage.coreTreeTable}"
disclosedRowKeys="#{treeTableDataBean.treeState}"
rowDisclosureListener="#{treeTablePage.treeDisclosureListener}"
rowsByDepth="0"
expandAllEnabled="false"
rowSelection="multiple">
I calculate the rowKeys when I set up the treeTable:
public void setCoreTreeTable(CoreTreeTable tree) {
RequestContext afContext = getAdfFacesContext();
AdfTreeTableDataBean myData = (AdfTreeTableDataBean)
afContext.getProcessScope().get(ProcessScope.MY_ORIG_DATA);
RowKeySet paths = null;
if (myData != null && myData.size() > 0) {
AdfTreeTableNode rootNode = myData.get(0);
if (_expandMarked) {
paths = new RowKeySetImpl();
getExpansionPathSet(rootNode, paths);
tree.setDisclosedRowKeys(paths);
}
}
_coreTreeTable = tree;
}
Don't get confused by things such as getAdfFacesContext() - I'm still in the
merge process and haven't changed all method names and identifiers yet.
Does anyone have a solution to this? It makes no difference what "paths"
contains. Even if I set it to null, I will see the root node (see second
attached image).
Thx for your help!
Torsten
<<attachment: treeTable.jpg>>
<<attachment: treeTableRootVisible.jpg>>

