はい!一緒に(あなたがのdataTableコンポーネントにデフォルトのリストを提供していると仮定)方法を見つけるのをしてみましょう:
<p:dataTable ...with various attributes... id="myTable" value="#{myBean.recordList}">
...and various columns...
</p:dataTable>
<h:selectOneMenu value="...">
<f:selectItems ...your items...>
<p:ajax event="change" listener="#{myBean.myMethod}" update="myTable" />
</h:selectOneMenu>
そしてmyMethod
あなたがrecordList
を変更して(更新)テーブルコンポーネントを更新する方法になります。もちろん、外側のフォームコンポーネントを配置する必要があります。
UPDATE:あなたはDataTableの異なる列を持つようにしたい場合は、すでに実装されており、ショー/あなたの選択(BalusC応答)に基づいてそれらを隠す:
<p:dataTable ...with various attributes... id="myTable" value="#{myBean.recordList}">
<p:column rendered="#{myBean.myValue == 1}" >
first column
</p:column>
<p:column rendered="#{myBean.myValue == 2}" >
second column
</p:column>
<p:column rendered="#{myBean.myValue == 3}" >
third column
</p:column>
</p:dataTable>
<h:selectOneMenu value="#{myBean.myValue}">
<f:selectItem itemLabel="First Column" itemValue="1" />
<f:selectItem itemLabel="Second Column" itemValue="2" />
<f:selectItem itemLabel="Third Column" itemValue="3" />
<p:ajax event="change" update="myTable" />
</h:selectOneMenu>
あなたはすでに実装DataTableの異なる列を持っており、ショー/あなたの選択に基づいて、それらを非表示にしたいですか?または、あなたの選択に基づいてリスト(dataTable値)を変更したいのですか(基本的に、これはすべてのオプションdataTableが異なるレコードを表示することを意味します)? – spauny
はい私はすでに実装されているdataTableの異なる列を持ち、自分の選択に基づいてそれらを表示/非表示にしたいと思います。 – curious
あなたはあまり具体的ではありませんでした。私は私の答えを更新し、BalusCソリューションを追加しました! – spauny