0

調査中に同様の質問を見つけましたが、実際に私の問題に対処したものはありませんでした。

いくつかの入力基準と送信ボタンを備えたフォームがあります。送信をクリックすると、フォームの下にプライムフェイスのデータテーブルが作成され、いくつかの結果が表示されます。必要なのは、ページ全体を更新せずに、入力されたデータに応じて異なるテーブルを表示することです。たとえば、ユーザーがフォームに値として Person を入力すると、Person テーブルの結果が表示されます。ただし、ユーザーが Company を選択すると、Company の結果が対応する列とともに表示されます。

4

1 に答える 1

2

属性を使用しupdateてデータテーブルを更新するだけです。さらに、<p:columns>列を動的に生成するために使用できます。

<p:inputText value="#{bean.input}" />
<p:commandButton value="submit" action="#{bean.submit}" update="table" />

<p:dataTable id="table" value="#{bean.model}" var="item">
    <p:columns value="#{bean.columns}" var="column">
        <h:outputText value="#{item[column]}" />
    </p:columns>
</p:dataTable>

次のようなもので:

public void submit() {
    model = populateModelBasedOn(input);
    columns = populateColumnsBasedOn(input);
}
于 2012-03-05T18:07:11.907 に答える