Wie markieren Sie eine primefaces-Baum Knoten vom backing-bean
Arbeite ich mit primefaces tree-Komponente. Es gibt ein Kontextmenü im Baum (einen Knoten hinzufügen, Bearbeiten, Knoten löschen, Knoten). Nach der Durchführung einiger Betrieb, ich brauche zu aktualisieren, die Struktur und markieren Sie dann den Knoten Hinzugefügt oder bearbeitet werden.
Dies ist mein code.
index.xhtml
<p:treeNode>
<h:outputText value="#{node}" />
</p:treeNode>
</p:tree>
<p:contextMenu for="pTree" id="cmenu">
<p:menuitem value="Add topic as child" update="pTree, cmenu"
actionListener="#{treeBean.addChildNode}" />
<p:menuitem value="Add topic Below" update="pTree, cmenu"
actionListener="#{treeBean.addTopicBelow}" />
<p:menuitem value="Delete Topic" update="pTree, cmenu"
actionListener="#{treeBean.deleteNode}" />
</p:contextMenu>
treeBean.java
public class TreeBean implements Serializable {
private TreeNode root;
public TreeBean() {
root = new DefaultTreeNode("Root", null);
//GET the root nodes first L0
List<TracPojo> rootNodes = SearchDao.getRootNodes111();
Iterator it = rootNodes.iterator();
while (it.hasNext()) {
TracPojo t1 = (TracPojo) it.next();
String tid = t1.getTopicID();
TreeNode node1 = new DefaultTreeNode(t1, root);
}
}
public TreeNode getRoot() {
return root;
}
public void addChildNode(ActionEvent actionEvent)
{
List record = NewSearchDao.getRecord(selectedNode);
Iterator it = record.iterator();
while (it.hasNext()) {
Object[] record1 = (Object[]) it.next();
setParentID_dlg((String) record1[0]);
setSortIndex((Integer) record1[2]);
}
}
public void saveChilddNode() {
System.out.println("Save as Child Node ........");
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Primefaces
p:treeNode
hat ein AttributstyleClass
. Sie können diese dynamisch in der backing-bean. Die Sicht Aussehen würde:Dann fügen Sie ein Mitglied styleClass zu Ihrem TreeBean mit get/set-Methode gibt eine Zeichenfolge, die den Stil Klasse:
Vergessen Sie nicht, fügen Sie die style-Klassen für css.
Sofern Sie das selectedNode, die Ihnen erklären, wie Auswahl="#{treeBean.selectedNode}", auf null, es ist schon ausgewählt, und die einzige Sache, die Sie tun müssen, ist aktualisieren Sie die tree-Komponente aus der auslösenden Komponente; in Ihrem Fall ist es: