0
這些是我的代碼如何更新從數據庫創建的treenode
這是我的HTML代碼;
<h:form id="form">
<div id="treeKisim" style="float: left;margin-top: 30px;">
<p:tree id="tree" dynamic="true" value="#{treeEventsView.root}" var="node" selectionMode="single" selection="#{treeEventsView.selectedNode}">
<p:ajax event="select" update=":form:dersGrup " listener="#{treeEventsView.onNodeSelect}" />
<p:treeNode>
<h:outputText value="#{node}" style="font-size: 13px;"/>
</p:treeNode>
</p:tree>
</div>
<div id="ortaKisim" style="float: left;margin-bottom: 30px;margin-top: -120px; margin-left: 15px;">
<center><p:inputText id="dersGrup" style="margin-top: 150px;width: 150px; margin-bottom: 10px;" value="#{treeEventsView.ders}"/>
</center>
<p:panelGrid columns="2">
<p:outputLabel value="Sınıfı Seçiniz :" style="font-size: 12px;"/>
<p:selectOneMenu value="#{treeEventsView.sinif}" style="font-size: 12px;">
<f:selectItems value="#{treeEventsView.siniflar}" />
</p:selectOneMenu>
<p:outputLabel value="Günü Seçiniz :" style="font-size: 12px;"/>
<p:selectOneMenu value="#{treeEventsView.gun}" style="font-size: 12px;">
<f:selectItems value="#{treeEventsView.gunler}" />
</p:selectOneMenu>
<p:outputLabel value="Saati Seçiniz :" style="font-size: 12px;"/>
<p:selectOneMenu value="#{treeEventsView.saat}" style="font-size: 12px;">
<f:selectItems value="#{treeEventsView.saatler}" />
</p:selectOneMenu>
<p:outputLabel value="Derslik Seçiniz :" style="font-size: 12px;"/>
<p:selectOneMenu value="#{treeEventsView.okulSinif}" style="font-size: 12px;">
<f:selectItems value="#{treeEventsView.okulSiniflar}" />
</p:selectOneMenu>
</p:panelGrid>
<center>
<p:commandButton value="delete" actionListener="#{treeEventsView.dersiEkle}" >
<p:ajax update=":form:tree" />
</p:commandButton>
</center>
</div>
</h:form>
This managedbean class = treeEventsView;
@ManagedBean(name = "treeEventsView")
@ApplicationScoped
private TreeNode root;
private TreeNode selectedNode;
@PostConstruct
public void init() {
root = new DefaultTreeNode("Root", null);
EntityManagerFactory emf = Persistence.createEntityManagerFactory("DersProgramiWebPU");
EntityManager em = emf.createEntityManager();
Query sorgu = em.createQuery("SELECT d FROM Gruplar d");
List<Gruplar> dersGrup=sorgu.getResultList();
for (int i = 0; i < dersGrup.size(); i++) {
TreeNode ustNode = new DefaultTreeNode(dersGrup.get(i), root);
Query altSorgu = em.createQuery("SELECT d FROM TeoriUygulama d where d.dersId=:pDersId ");
altSorgu.setParameter("pDersId", dersGrup.get(i).getId());
List<TeoriUygulama> islenisDers=altSorgu.getResultList();
for (TeoriUygulama grup : islenisDers) {
TreeNode altNode = new DefaultTreeNode(grup, ustNode);
}
}
em.close();
emf.close();
}
String ders;
public String getDers() {
return ders;
}
public void setDers(String ders) {
this.ders = ders;
}
public TreeNode getRoot() {
return root;
}
public TreeNode getSelectedNode() {
return selectedNode;
}
public void setSelectedNode(TreeNode selectedNode) {
this.selectedNode = selectedNode;
}
,你可以看到在刪除(),我從數據庫和最後一行刪除我稱之爲(),這再次證明集根所以,當我點擊按鈕,我想更新樹節點,但它不工作,它不更新。你有什麼建議
在我看來,我認爲你的樹的建設是不正確的是你打開樹形結構的新視野?!? –
我更新了我的代碼 – buguz