Tree Renderer"
From Documentation
(Created page with "{{ZKDevelopersReferencePageHeader}} When a tree (<javadoc>org.zkoss.zul.Tree</javadoc>) is assigned with a model, a default renderer is assigned too<ref>For the concept about co...") |
m ((via JWB)) |
||
Line 31: | Line 31: | ||
=Version History= | =Version History= | ||
{{LastUpdated}} | {{LastUpdated}} | ||
− | {| | + | {| class='wikitable' | width="100%" |
! Version !! Date !! Content | ! Version !! Date !! Content | ||
|- | |- |
Revision as of 08:18, 11 January 2022
When a tree (Tree) is assigned with a model, a default renderer is assigned too[1]. The default renderer will assume that each tree item has only one column, and it converts the data into a string directly[2]. If you want to display multiple columns or retrieve a particular field of the data, you have to implement TreeitemRenderer to handle the rendering.
For example,
public class HostTreeRenderer implements TreeitemRenderer {
public void render(Treeitem treeitem, Object data, int index) throws Exception {
Treerow row = treeitem.getTreerow();
if (row == null) { // tree row not create yet.
row = new Treerow();
treeitem.appendChild(row);
}
if (data instanceof HostTreeModel.FakeGroup) {
treeitem.getTreerow().appendChild(new Treecell(((HostTreeModel.FakeGroup)data).getName()));
} else if (data instanceof HostTreeModel.FakeHost) {
treeitem.getTreerow().appendChild(new Treecell(((HostTreeModel.FakeHost)data).getName()));
} else if (data instanceof HostTreeModel.FakeProcess) {
treeitem.getTreerow().appendChild(new Treecell(((HostTreeModel.FakeProcess)data).getName()));
}
}
}
- ↑ For the concept about component, model and renderer, please refer to the Model-driven Display section.
- ↑ If the tree is assigned a template called model, then the template will be used to render the tree. For more information, please refer to the Tree Template section.
Version History
Version | Date | Content |
---|---|---|
6.0.0 | February 2012 | The index argument was introduced. |