2017-07-30 11 views
0

primefacesを使用して自分のWebサイトを実装していて、問題が発生しています。
私は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

あなたが値をAJAXの属性プロセスを宣言する必要があります@this。この属性は、selectOneButttonのイベントが発生したときに値をselectOneButtonに設定してbeanに値を設定し、データテーブル型の実際の値を返します。

それを助けてください。あなたが例の条件を持っている場合と:

<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ありがとうございました。私は@これを使用して、それは私のために働く;) –

+0

素晴らしい。 @これがあなたのために働いていれば解決策を見つけることができますか? –

関連する問題