2017-07-11 27 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組件中,然後重新渲染該封裝組件。

相關問題