2012-04-17 7 views
1

JSFプライムフェイスのアコーディオンパネルでクリックされたタブのリストを知る方法はありますか?JSFプライムフェイスのアコーディオンパネルでクリックされたタブの特定

私はbean内のプロパティが必要です。 例:アコーディオンのパネルタブにlstofItems<Item>があります。 1つのタブをクリックすると、その値に設定するプロパティーItem clickedItemが必要です。 DBからそのタブのデータを読み込む必要があります。

どうすればよいですか?たぶんPropertyActionListnerなどを使用しています。私はpropertyActionListnerについて考えましたが、どこに配置するのか把握できませんでした。なにか提案を ???

おかげ

+0

ショーケースに示されている例を見てください、それが助け場合はお知らせします。http:/ /www.primefaces.org/showcase/ui/accordionPanelChangeListener.jsf – perissf

答えて

5

ビュー:

<p:accordionPanel> 
    <p:ajax event="tabChange" listener="#{myBean.onTabChange}" /> 
    <!-- Define your tabs here --> 
</p:accordionPanel> 

管理Bean:

@ManagedBean 
public class MyBean { 

    public void onTabChange(TabChangeEvent event) { 
     System.out.println(event.getTab().getId()); 
    } 
} 
+0

ありがとうございました。私はevent.getData()を使用することを好むだろうが; Item全体を返します。また、アコーデオンパネルでダイナミックを「true」に設定する必要があります。それが私の場合に働くために。 –

+0

あなたは大歓迎です! – Sebi

+0

このリンクもイベントに役立ちます:http://www.javabeat.net/primefaces-accordionpanel-ontabchange-ontabshow/ – Krishna

関連する問題