nico_wagner
Cadet 3rd Year
- Registriert
- Nov. 2013
- Beiträge
- 59
Hallo ich habe folgendes Problem: Ich habe einen Tree erstellt und würde gerne einige Unterpunkte davon mit einem CommandLink betreiben. Ich habe aber das Problem dass alle Nodes nun CommandLinks sind. Wie kann ich das besser machen?
Evtl ne andere Lösung als Command Link? Es sol nachher so sein, dass wenn ich auf einen Node drücke eine Aktion ausgeführt werden soll. (Zugriff auf eine Datenbank und die Daten in einem Fenster anzeigen uvm...)
Kann mir jemand außerdem sagen, wie ich das Ordner offen/zu Symbol bei dem Tree nur bei welchen stehen habe die sich auch aufklappen lassen können?
Evtl ne andere Lösung als Command Link? Es sol nachher so sein, dass wenn ich auf einen Node drücke eine Aktion ausgeführt werden soll. (Zugriff auf eine Datenbank und die Daten in einem Fenster anzeigen uvm...)
Code:
<ui:define name="content">
<p:panelGrid columns="2" styleClass="tree">
<h:form>
<h3 style="margin-top: 0">Tree</h3>
<p:tree value="#{treeView.root}" var="node" dynamic="true"
selectionMode="single" style="width: 100%">
<p:treeNode expandedIcon="ui-icon-folder-open"
collapsedIcon="ui-icon-folder-collapsed">
<h:outputText value="#{node}" />
</p:treeNode>
</p:tree>
Code:
public class treeView implements Serializable {
private TreeNode root;
@PostConstruct
public void init() {
root = new DefaultTreeNode("Root", null);
TreeNode node0 = new DefaultTreeNode("Test0", root);
TreeNode node1 = new DefaultTreeNode("Test1", root);
node0.getChildren().add(new DefaultTreeNode("Test01"));
node0.getChildren().add(new DefaultTreeNode("Test02"));
node1.getChildren().add(new DefaultTreeNode("Test11"));
node1.getChildren().add(new DefaultTreeNode("Test12"));
node1.getChildren().add(new DefaultTreeNode("Test13"));
}
public TreeNode getRoot() {
return root;
}
}
Kann mir jemand außerdem sagen, wie ich das Ordner offen/zu Symbol bei dem Tree nur bei welchen stehen habe die sich auch aufklappen lassen können?