2013-01-18 1 views
0

저는 primefaces가 매우 새롭습니다. 나는 나무 표를 만들고, 모든 항목은 데이터베이스에서 가져옵니다. 내 문제는 자식 항목을 선택하면 실제 선택한 부모 항목이므로 하위 항목에 작업을 할 수 없습니다. 여기 내 트리 테이블 코드primefaces treetable

<p:treeTable id="treeTable" value="#{aZoningController.root}" var="zonning" > 
    <p:column style="text-align: left; width: 93%"> 
     <f:facet name="header"> 
     #{lbl.aZoning_pokok} 
     </f:facet> 
     <h:outputText value="#{zonning.nama}" /> 
    </p:column> 
    <p:column style="text-align: center; width: 5%"> 
     <f:facet name="header"> 
     #{lbl.aZoning_kod} 
     </f:facet> 
     <h:outputText value="#{zonning.kod}" /> 
    </p:column> 
    <p:column style="vertical-align: text-top"> 
     <p:menuButton value="" styleClass="mb"> 
     <p:menuitem value="Update" oncomplete="confirmation.show()" process="@this" update=":actionForm:actionDialog" icon="ui-icon-document-b"> 
      <f:setPropertyActionListener value="#{zonning}" target="#{aZoningController.selectedNode}" /> 
     </p:menuitem> 
     <p:menuitem value="Delete" oncomplete="confirmation.show()" process="@this" update=":myform:confirmDialog" icon="ui-icon-trash"> 
      <f:setPropertyActionListener value="#{zonning}" target="#{aZoningController.selectedNode}" /> 
     </p:menuitem> 
     </p:menuButton> 
    </p:column> 
</p:treeTable> 

내가이의 selectedNode 속성에 zonning의 값을 설정

답변

0
<f:setPropertyActionListener value="#{zonning}" target="#{aZoningController.selectedNode}" /> 

나에게 조언을 주시기 바랍니다이

public TreeNode getRoot() { 
    root = new DefaultTreeNode("Root", null); 
    List<aZoning> zon = ejbFacade.getRoot(); 
    for (aZoning z : zon) { 
     TreeNode zonning = new DefaultTreeNode(z, root); 
     createNode(z.getId(), zonning); 
    } 
    return root; 
} 

private TreeNode createNode (String idParent, TreeNode parent) { 
    TreeNode node = null; 
    List<aZoning> zonning = ejbFacade.getZonning(idParent); 
    for (aZoning z : zonning) { 
     node = new DefaultTreeNode(z, parent); 
     createNode(z.getId(), node); 
    } 
    return node; 
} 

를 사용하여 tretable을 채울 수있어 사용자의 aZoningController 클래스. zonning 대신 menuItem이 선택 될 때 필요한 값을 설정하십시오. zonning은 문제를 일으키는 상위 노드의 값입니다.

+0

@Mubi이 정보가 도움이 되었습니까? – Adarsh