2

他の投稿でこれに対する解決策を見つけることができなかったので、ここに私の問題があります。(事前に、JBoss 7.1ASでMojarra実装とPrimefaces3.2を備えたJSF2を使用しています)

実行時に動的に生成される検索マスクを作成しています。別の投稿から、そのためにdataTableを使用する必要があることがわかっています。それが私がすることです。

ただし、検索マスクは、検索基準(名前、誕生日など)、演算子(is、not、より大きい、範囲内、...)、およびオペランド(ユーザーが何であるか)の3つの部分で構成されます。検索入力として提供されます)。

私の目標は、検索マスクを動的に生成することですが、入力フィールドのタイプは、ユーザーが選択した基準と演算子によって異なります。

したがって、ユーザーがドロップダウンボックスから基準: "name"およびoperator: "is not"を選択した場合、オペランドの入力フィールドは単純なp:inputTextである必要があります。

ただし、ユーザーが基準「誕生日」と演算子「前」を選択した場合、入力フィールドはp:calendarのような日付ピッカーである必要があります。

私のアイデアは、「SearchRow」オブジェクトのリストにap:dataTableを使用することでした。ここで、すべてのオブジェクトには、ah:selectOneMenuでそれらを使用するための基準とオペランドの配列があります。

次に、valueChangeListenerをselectMenuesに追加し、そこで入力フィールドとして必要な適切なタイプのUIComponentを計算して作成します。

しかし、そのUICOmponentをdataTable内の3番目の列として追加する方法がわかりません。

それで、私の考えは何か良いものであり、私の問題を解決する方法はありますか?

前もって感謝します!

4

1 に答える 1

1

ここで説明されている問題と同じ解決策。@BalusCの記事では、Bean からコンポーネントを追加する方法が非常にうまく説明されています。

于 2012-07-19T17:33:01.490 に答える