我正在使用JSF和PrimeFaces,並且我無法處理以下情況:我有一個對話框,並且在其上放置了一個dataTable。在表格的其中一個單元格中,我想以三種不同的方式顯示給定的數據,並且我想在它們之間切換。到目前爲止,我設法通過commandLink在這些渲染類型之間切換,但是我的問題是,當我點擊3個鏈接之一時,對話框關閉!我可以更新對話框的內容,並且能夠同時打開對話框嗎? (我更新其渲染類型通過myMethod的使用)Primefaces:更新對話框內容並保持打開狀態
我commandLink看起來是這樣的:
<p:commandLink id="id" update=":myForm:myDialog" ajax="false"
action="#{myBean.myMethod}" oncomplete="dialog.show()">
如果我不使用AJAX = false屬性,方法不叫,我也試過imediate = true,但那也不是。
我不認爲包括輸出面板和更新它有什麼區別。我遇到了同樣的問題,我在不添加oncomplete =「dialog.show()」的情況下測試了這個理論,對話框仍然關閉。 oncomplete =「dialog.show()」會再次顯示,但它不是理想的解決方案,因爲當對話框消失並重新出現時會出現閃爍。 – jrobertsz66
你不認爲這有什麼區別?嘗試一下,它確實做到了一個。因爲在一種情況下,整個對話框被更新(更新:將其從DOM中移除並重新添加到DOM中),或者在第二個對話框中的輸出面板被更新並且對話框保持不變。 – Manuel
不同之處在於Q的'ajax =「false」(其中onComplete做點工作......)並且使用隱式的'ajax =「true」',所以兩者都是正確的(如果ajax部分沒有改變) – Kukeltje