そのため、最近、richfaces 4 を使用して JSF ページの作業を開始しました。このページには、rich: collapsiblePanel があります。サーバーから受け取ったリストを繰り返し処理することで collapsiblePanels をレンダリングするrich:dataGrid内で collapsiblePanel を使用しています。パネル ヘッダー (もちろんバッキング Bean) のデータに従って collapsiblePanels を「並べ替える」ためのリンクがあります。collapsiblePanels のいずれかが展開され、並べ替えリンクがクリックされると、それらすべてが展開されますが、1 つが閉じられ、リンクが再度クリックされると、すべてが閉じられます。
私が試したこと:
- switchType をクライアント以外(つまり、ajax とサーバー)に変更する
- バッキング Bean に定数ブール値を追加して、リロード時に expand 属性を強制的に false にします (ただし、バッキング Bean の影響はまったく受けません)。
現時点でのサンプルコード:
<h:panelGrid id="SomePanelGrid">
<rich:dataGrid id="SomeDataGrid" value="bean.listValues" var="values"
iterationStatusVar="counter" elements="10">
<rich:collapsiblePanel switchType="client" expanded="#{bean.expanded}">
Layouts and what not (not in relation to this)
</rich:collapsiblePanel>
</rich:dataGrid>
</h:panelGrid>
リンクは、ソートを行うバッキング Bean のメソッドを呼び出すだけです。
私は、dataGrid の代わりに dataTable を含む同様の問題を発見しましたが、答えは与えられていませんが、より多くの行き止まりにつながるリンクのみです。これはhttps://community.jboss.org/message/819938にあります。
どんな助けでも大歓迎です。残念ながら、現時点では他の多くの質問に答える時間があまりありませんが、少し後で確認します.
前もって感謝します。