-
FEATURED COMPONENTS
First time here? Check out the FAQ!
With a ZK6 tree model (like DefaultTreeModel/DefaultTreeNode) how do I setup the model so that all the parent nodes are open at start?
I've tried the following and it doesn't work.
<tree id="planningTree" width="100%" sizedByContent="true" model="@load(vm.planningMenuModel)" selectedItem="@bind(vm.planningMenuItem)" onSelect="@global-command('setDataArea',DataViewCommand=vm.planningMenuItem.data)" > <treecols> <treecol label="" /> </treecols> <template name="model"> <treeitem open="true" > <treerow> <treecell label="${each.data.commandName}" /> </treerow> </treeitem> </template> </tree>
Hi davout
I think you implemented tree view with MVVM. Can you please share your example code
@davout Can you please share your example code?
Thank you!
Some code from an example MVVM class:
setPlanningMenuModel(new DefaultTreeModel(aParent)); // set the model with the tree structure int[] aPath = {0}; getPlanningMenuModel().addOpenPath(aPath);
Hi davout.
I'm not sure if the following code fits your needs... just try
public void doCollapseExpandAll(Component component, boolean open) { if (component!=null) { if (component instanceof Treeitem) { Treeitem treeitem = (Treeitem) component; treeitem.setOpen(open); } Collection<?> com = component.getChildren(); if (com != null) { for (Iterator<?> iterator = com.iterator(); iterator.hasNext();) { doCollapseExpandAll((Component) iterator.next(), open); } } } }
version zk 6.5
private void doExpandAll(Component component, boolean aufklappen) {
if (component instanceof Treeitem) {
Treeitem treeitem = (Treeitem) component;
this.treeModel.addOpenPath(this.treeModel.getPath((DefaultTreeNode) treeitem.getValue()));
}
Collection<?> com = component.getChildren();
if (com != null) {
for (Iterator<?> iterator = com.iterator(); iterator.hasNext();) {
doExpandAll((Component) iterator.next(), aufklappen);
}
}
}
Asked: 2012-04-18 18:34:37 +0800
Seen: 468 times
Last updated: May 27 '16