2012-02-14 21 views
1

複数のデータソースで同じデータテーブルを使用できますか?はいの場合は、どうですか?誰かが私にそれの例を教えてもらえますか? より正確に言えば、さまざまなソースをデータ化可能なプログラマティックにバインド/アンバインドできますか?異なる豆に同じデータテーブルを再利用するには?

+1

管理対象Beanは、必要なソースからデータをフェッチすることができます。 – perissf

答えて

1

いくつかのサンプルコードはわかりやすくするために以下の通りです。このパスに

http://courses.coreservlets.com/Course-Materials/pdf/jsf/jsf2/JSF2-Composite-Components.pdf

とサンプルファイルが存在し、このチュートリアルに従ってください。 ..

<p:selectOneRadio id="myRadio" value="#{beanProductDetails.selectedtype}"> 
    <f:selectItems value="#{bean.types}"/> 
    <f:ajax event="valueChange" update="panel_CATALOG" listener="#{bean.typeChanged}" /> 
</p:selectOneRadio> 


<h:panelGrid id="panel_CATALOG"> 
    <p:dataTable id="table_Details" value="#{bean.list_Details}"> 
     ........ 
    </p:dataTable> 
</h:panelGrid> 

selectOneRadioを使用して、使用するデータソースを決定します。ここでは、BeanのtypeChangedメソッドで、selectedtypeに応じてlist_Detailsを決定します。

+0

あなたの迅速な対応に感謝します。しかし、typeChanged listnerでデータテーブルのデータソースを変更するにはどうすればいいですか? –

+1

データの編成方法によって異なります。 1.すべてのデータソースのレコードを単一のリストとして保持し、選択したタイプごとにリストの開始および終了インデックスに基づいてデータテーブルに表示される特定のサブリストを決定することができます。 2.特定のソースからのデータを選択されたタイプに基づいてlist_Detailsにコピーすることができます。これが役立つことを願って – rags

+0

ありがとう! :-) –

2

はいこれが可能です。通常、データテーブルのvalue属性をList<MyClass>に設定します。ここで、MyClassはpojoまたはエンティティになります。このリストはバッキングBeanのインスタンス変数ですが、もちろん変数は実行時に変更できます。

+0

ありがとう:-)もう少し説明できますか?実際に私はこれをプログラム的にどのようにすることができるのか知りたいですか? –

関連する問題