2011-07-18 28 views
3

我使用Primefaces 3.0和JSF 2.0。我有一個數據表啓用擴展。我想在用戶點擊rowToggler時調用一個bean方法。基本上我只想在用戶單擊展開按鈕時才加載展開詳細信息。我無法在文檔中看到用於行擴展的服務器端回調。請讓我知道我是否可以針對此問題採取任何解決方法。數據錶行擴展事件

感謝和問候, 連珠

+0

我在問題跟蹤器(下面的URL)中看到了這一點。我也很期待這一點。 http://code.google.com/p/primefaces/issues/detail?id=2277 – Howard

回答

0

Primefaces' rowToggler已經加載的內容與阿賈克斯,所以你應該罰款;-)

從手冊:

號碼:rowToggler組件的放置展開/摺疊圖標,單擊摺疊行加載帶有Ajax的展開內容。

5

繼霍華德在質詢評論規定,我可以看到,這是在PF 3.4實現的鏈接:

XHTML

<p:ajax event="rowToggle" listener="#{tableBean.onRowToggle}" update=":form:growl" /> 

public void onRowToggle(ToggleEvent event) { 
    FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, 
             "Row State " + event.getVisibility(), 
             "Model:" + ((Car) event.getData()).getModel()); 

    FacesContext.getCurrentInstance().addMessage(null, msg); 
} 

你可以看到這個展示: https://www.primefaces.org/showcase/ui/data/datatable/expansion.xhtml

+1

我正在使用這種方法,它工作正常,直到用戶過濾數據表。然後event.getData()返回無效數據(在你的情況下新Car()對象)。任何想法爲什麼會發生?謝謝。 –

+0

有點晚,但我有同樣的問題,在我的情況下,解決方案是將'filteredValue'屬性添加到數據表。 – burubum