2011-02-08 25 views
1

異なるエンティティレコードに対応する異なるテーブルをWebページに表示しようとしています。レコードタイプX、Y、Zと答えてください。 ウェブページに掲載された検索によれば、表示されるテーブルはそれに応じて表示され、それぞれに固有の列が表示されます。 そこで私は単純化されたコードスニペットとして次のことをしようとしています:p:データテーブル一般的な質問

<p:dataTable id="recordTable" 
      binding="#{searchBean.resultTable}" 
      value="#{searchBean.resultListx}" 
      var="currentRecord" 
      paginator="true" 
      rows="10"/> 

値は、レコード(X、YまたはZ)のリストに対応しており、私は私のバッキングBeanた上で作る既製のDataTableに対応してバインドレコードのタイプ(X、Y、またはZ)に応じて列をアセンブルします

質問:正しい方法ですか?そうでない場合は誰でも私にこの演習をするためのアイデアをつけてもらえますか?例は3種類のエンティティに簡略化されていますが、実際のケースでは20種類の異なるテーブルを表示する必要がありますレコードの。

ほとんどのヒント、観測とフィードバックをいただきありがとうございます。

ありがとうございました

答えて

1

<p:columns>を使用してください。

+0

こんにちは、お返事ありがとうございます。私はあなたのブログ[リンク](http://balusc.blogspot.com/2006/06/using-datatables.html)を見ました。異なるタイプのレコードには異なるカラムがあるので、私はカントを使用できません。したがって、あなたの提案では、エンティティの各タイプごとに異なるDataTableを構築し、バッキングBeanから 'rendered'プロパティを管理する必要があります。私は自分自身を明確にしたいと思っています。いずれの場合でも、私は ''を使うオプションを破棄していません。私が間違ってあなたの提案を取った場合は、私に教えてください。 – camiloqp

+0

エンティティを 'Map 'のようなより一般的なデータ構造にマップするか、またはこれを汎用マッパーで記述したいとします。 – BalusC

+0

私はHashMapを作成し、結果のリストとDataTableの構造を含んでいるので、ここから始めて、これらの動的列を持つための提案は何でしょうか? HashMapに列またはDataTableのリストが事前にアセンブルされていますか?前もって感謝します – camiloqp