Fill a treeview programmatically
You must build a collection of TreeNode objects and add this collection to the TreeView control. Each TreeNode object has several properties to set up the visual appearance and functionality.
Important TreeNode properties
expanded - Shows this node expaned with children ext - Title text of the node target - Target browser window toolTip - Tooltip text to display url - Hyperlink to navigate to action - Name of method to call if user selects this node actionListenerExpression - Expression for action listener method.
Adding icon to TreeNode
To add a icon to the TreeNode you must first create a ImageComponent. Now you can set the theme specific icon with the setIcon method. Use a constant of class ThemeImages for the icon name. Add the created ImageComponent as facet to the TreeNode.
Sample:
ImageComponent image = new ImageComponent(); image.setIcon( TreeImages.TREE_FOLDER ); treeNode.getFacets().put( treeNode.IMAGE_FACET_KEY, image );
Setting Action Expression for TreeNode
To set the Action Expression of a TreeNode you must use the method setActionExpression of the TreeNode object. This method needs a MethodExpression object as parameter.
Sample code:
ExpressionFactory ef = FacesContext. getCurrentInstance(). getApplication(). getExpressionFactory(); ELContext elContext = FacesContext. getCurrentInstance(). getELContext(); MethodExpression me = ef.createMethodExpression( elContext, "#{Page1.treeNode_action}", treeNode.setActionExpression( me );



Leave a comment