私は以下のコードを持っています:
<h:panelGrid id="formDatatable">
<p:dataTable var="Resource" value="#{resource.listResourceForDataTable}">
<p:subTable var="access" value="#{resource.listResourceForSubTable}">
<f:facet name="header">
#{Resource.firstname} #{Resource.lastName}
</f:facet>
<p:column>
#{access.skillLevel}
</p:column>
<p:column>
#{access.skillName}
</p:column>
</p:subTable>
</p:dataTable>
</h:panelGrid>
DataTable の値: Resource のリスト (文字列と Map を持つ複雑なオブジェクト)
サブテーブルの値: 2 つのフィールドだけを持つリソースのリスト: ---> skillLevel (文字列) と skillName (文字列)。
結果は(スキルのレベル/スキルの名前)です:
ご覧のとおり、サブテーブルのリスト内のすべての要素で「ヘッダー」を埋めます。「albert first」(Resource) は Java (Skill) を学習済みで、levelOfSkill に 2 つあるため、私が望んでいるわけではありません。彼は他のスキルを持っていません。
テーブルに入れたい:
最初にアルバート: 2 - Java
マイケル・ジャクソン: 2 - ジー; 3 - php
トム・ホークス: 2 - php; 4 - ジャバ
しかし、私は毎回すべてのスキルを各ヘッダーに持っています。どうすればデータを「分離」できますか? DataTable と SubTable がこの仕事をするだろうと思いました。