.tr-nd, .tr-d { float: left; } .tr-d { margin-left: 40px; } .rf-tr { margin-bottom: 20px; }

rich:treeNode components do not have to be created for every node type; by setting useDefaultNode="true" a default treeNode will be used for node types that do not match the provided treeNodes. The dataModel contains three types of nodes - "country", "company" and "cd", this example contains a treeNode only for type="country", the left tree doesn't use the default and so the types "company" and "cd" are not rendered.

#{node.name} #{node.name}

The appearance of the default node can be changed using f:facet named defaultNode.

#{node.name} #{node.type} / #{node.name}

By omitting nodeType the whole tree will be rendered using the default treeNodes (this doesn't require useDefault).