動的な列数が必要です。Richfaces<rich:columns>
は richfaces 3.3.3-final でそれを提供しますが、Richfaces 4 については を推奨しているようです<c:forEach>
。
c:forEach
正しく動作させることができません。データテーブルの var に依存できないため<c:forEach>
、列の正しいリストをフィードする方法がわかりません。(各行には独自の値がありますが、ヘッダーは同じです)
基本的に、表示したいデータは x サイズの行のリストで、各行には y サイズの列値のリストがあります。しかし<c:forEach>
、正しい列をフィードできるように、バッキング Bean にそれがどの行にあるかをどのように伝えることができますか?
ui/a4j:繰り返し
固定列やその他の多くの機能が必要なため、車輪の再発明はしたくありません。この方法でテーブル html を作成し、他の機能に jQuery を使用することが検討されています。ただし、これを維持することは絶望的であり、多くの作業が必要です。
また、子を動的に作成するバッキング Bean から構築することも検討しましたが、まったく好きではありません。これは最後の手段でなければなりません。
使用: Tomcat 7、サーブレット 3.0、JSF 2.1x - Mojarra、Richfaces 4.x
アップデート
よし、やっと結果が出てきた。しかし、私のヘッダーは表示されません。値は完全に表示されますが、ヘッダーは表示されません。おそらく反復または何かでそれらを行う際の問題はありますか?
<rich:dataTable value="#{controller.rows}"
var="row">
<c:forEach items="#{controller.columns}" var="column">
<rd:column id="name" width="250">
<f:facet name="header">
<h:outputText value="#{row.myArrayList[column].header}" />
</f:facet>
<h:inputText value="#{row.myArrayList[column].value}" disabled="#{row.myArrayList[column].open}"/>
</rd:column>
</c:forEach>
</rich:dataTable>