首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >primefaces treetable

primefaces treetable
EN

Stack Overflow用户
提问于 2013-01-18 11:12:48
回答 1查看 2K关注 0票数 0

我对primefaces很陌生。我创建了一个树表,所有项目都是从数据库中获取的。我的问题是,如果我选择一个子项,实际选择的是父项,所以我不能对子项进行操作。下面是我的树形代码

代码语言:javascript
复制
<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>

我用下面的代码来填充tretable

代码语言:javascript
复制
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;
}

请给我一些建议

EN

回答 1

Stack Overflow用户

发布于 2013-03-11 19:50:51

代码语言:javascript
复制
<f:setPropertyActionListener value="#{zonning}" target="#{aZoningController.selectedNode}" />

这会将zonning的值设置为aZoningController类的selectedNode属性。在选择menuItem时,尝试设置所需的值,而不是分区。zonning是导致问题的父节点的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14391850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档