2017-07-30 103 views
0

我正在使用primefaces來實現我的網站,並且遇到了問題。
我已經使用selectOneButton組件,並根據選擇哪個按鈕,我想顯示特定的數據表。所以當我點擊button1時,我想要顯示table1和table2,當我點擊button2時。
當我更改selectOneButton組件的狀態時,無法更新我的組件

這是我使用的代碼:

<p:selectOneButton 
    value="#{myBean.dataTableType}" 
    valueChangeListener="#{myBean.dataTableTypeChange}"> 
    <f:selectItems value="#{myBean.dataTableTypes}" 
     var="type" 
     itemLabel="#{msg['datatable.type.'.concat(type)]}" 
     itemValue="#{type}" /> 
    <p:ajax update="table1 table2"/> 
</p:selectOneButton> 

有了這個代碼,我無法達到我想要的東西:(

回答

0

你應該聲明一個屬性的過程與價值阿賈克斯@this。此屬性表示爲selectOneButton設置值爲bean時將發生一些事件爲selectOneButtton。並且您將有一個數據表類型的實際值

現在您不需要h就是它。如果你有,例如一個條件:

<ui:fragment rendered="#{myBean.dataTableType eq FirstTable}"> 
    <p:datatable id="first_table"> 
     ... 
    </p:datatable> 
</ui:framgent> 

條件返回false ..

+0

謝謝@ HAYMbl4;) –

1

我覺得可以很好地看看下面的例子,並保持渲染標誌你的表在調用該偵聽豆。

https://stackoverflow.com/a/8409360/3403415

希望它有幫助!

+0

謝謝Siddharth.Singh給你回覆。我用@this,它適用於我;) –

+0

太棒了。你可以把這個@這工作給你,你找到了解決方案。 –

相關問題