2011-11-18 143 views
0

我正在使用PrimeFaces 3.0.M4。我想更新树节点选择中的PrimeFaces布局单元的内容。我已经添加下面的方法来我支持bean:p:没有调用树节点select事件侦听器方法

public void setSelectedNode(TreeNode selectedNode) { 
    this.selectedNode = selectedNode; 
    this.selectedNode.setSelected(true); 
} 

public void onNodeSelect(NodeSelectEvent e) { 
    this.setSelectedNode(e.getTreeNode()); 
} 

在我使用AJAX来触发onNodeSelect()侦听器方法的观点:

<p:tree id="tree" value="#{treeBean.root}" selection="#{treeBean.selectedNode}"  var="node" selectionMode="single" dynamic="true" cache="false" > 
    <p:ajax listener="#{treeBean.onNodeSelect}" update="test" event="select"/> 
    <p:treeNode> 
    <h:outputText value="#{node}"/> 
    </p:treeNode> 
</p:tree> 

注:树内的另一个PrimeFaces配置机构。

但是当我运行这个时,onNodeSelect()方法根本没有被调用。这是如何造成的,我该如何解决这个问题?

+0

清理Engrish - 辉煌! :D – spauny

+0

@spauny对不起,我没有得到你... –

+0

@Tushar:尝试以聪明的方式提问,而不是抱怨的方式。 – BalusC

回答

0

这是什么意思update test

你应该发布你的整个xhtml代码!此外,您不应该尝试更新整个layoutUnit,而是更新您的表单(update="myFormId"update=":myFormId"),或者更新表单中的面板,如下所示:update=":myFormId:myPanelId"

+0

..不完整的代码。实际上,“测试”是布局单元的ID: < p:layoutUnit>, 我也试过更新面板组。但它没用。 –

+0

... Thankx男人....它帮助.. –

+0

...你能帮助我更多的东西......? –