0

<p:dataTable>ファイルの値を表示するために使用しています。各ファイルの内部には、メタデータのリストがあります。ファイルの他の列の横に、各メタデータを独自の列として表示したいと考えています。(コードを読みやすくするために、他の列を除外しました)。

だから、私の問題は、<p:dataList>列が表示されないことです。誰かがこれが問題であると信じている場合、メタの名前はすべてのメタデータで同じです。

<p:dataTable>の代わりに既に使用しようとしまし<p:dataList>たが、顧客はもともとメタデータを独自の列として表示することを望んでいたため、これは私の好みの方法ではありませんが、一方では機能しています。

<p:dataTable id="fileList" var="f" value="#{reader.files}" rendered="#{reader.showFileTable()}">
    <p:dataList value="#{f.meta}" var="meta1">
        <p:column>
           #{meta1.value}
        </p:column>
    </p:dataList>

    <p:column headerText="Metadaten">
        <p:dataTable value="#{f.meta}" var="meta">
            <p:column headerText="#{meta.name}">
                 #{meta.value}
            </p:column>
        </p:dataTable>
     </p:column>
</p:dataTable>

コードを機能させて、それぞれmetadatefileList-dataTable.

PS:私はすでに試しましたが、うまくc:forEachいきui:repeatませんでした。

PPS:言い忘れていましたが、顧客が特定のメタデータを見たくない場合があるため、提案されたソリューションでこれを行うことができれば非常に良いでしょう。

4

2 に答える 2

1

<p:columns>タグを使用して、primefaces で列を動的に構築できます。vdl を参照してください。

例については、 primefaces ショーケースを確認してください

于 2013-04-28T10:15:38.820 に答える
1

次のコードがあるとします。

<p:dataList id="fileList" var="f" value="#{reader.files}">
    <p:dataTable value="#{f.listItems}" var="meta1">
        <p:column>#{meta1.value}</p:column>
        <p:columns value="#{meta1.listItems}">...</p:columns>
    </p:dataTable>
</p:dataList>

ネストされた dataTable の動的列は生成されません: p:columns は "f" や "meta1" のような var を参照できないようです。ヘッダーのテーブルを作成しているため、「meta1」が表示されないことは理解できますが、その時点で「f」が表示されない理由が本当にわかりません。

何か案が?ありがとう。

于 2014-06-09T10:38:24.733 に答える