2017-07-11 19 views
1

我试图按钮单击显示选定的数据表行。我使用标签rendered来显示/隐藏此按钮,但只有在页面重新加载时才会呈现该按钮。出于这个原因,我希望当我选择行时,页面被重新加载并且再次执行标签呈现。在数据表中的选定行后重新加载页面JSF + PrimeFaces

函数conv返回一个布尔值,取决于按钮是否显示或不显示。

任何想法如何做到这一点?

<p:dataTable id="singleDT" var="inform" value="#{testBean.searchInform}" selectionMode="single" selection="#{testBean.selectedInform}" rowKey={inform.id}"> 
    <f:facet name="header"> 
     Single with Row Click 
    </f:facet> 
    <p:column headerText="Id"> 
     <h:outputText value="#{inform.id}" /> 
    </p:column> 
    <p:column headerText="Year"> 
     <h:outputText value="#{inform.year}" /> 
    </p:column> 
    <p:column headerText="Brand"> 
     <h:outputText value="#{inform.brand}" /> 
    </p:column> 
    <p:column headerText="Color"> 
     <h:outputText value="#{inform.color}" /> 
    </p:column> 
    <f:facet name="footer"> 
     <p:commandButton for="singleDT" process="singleDT" update=":form:informeDetail" icon="ui-icon-search" value="Convert" action="#{testBean.Convert}" rendered="#{testBean.conv}"/> 
    </f:facet> 
</p:dataTable> 
+0

你是否知道所选行有一个ajax事件 –

回答

0

renderedfalse HTML文档将不包含给定的组件,因此其不能刷新。

您应该将<p:commandButton>放置在另一个JSF组件中,然后重新渲染该封装组件。

相关问题