4

1 つの項目を 2 つ (またはそれ以上) の行に表示する方法について、primefaces データテーブルの例が見つかりません。次のように、データテーブルにアイテムを表示する必要があります。

<table>
  <tr>
    <td>Text 1 from entry</td>
    <td>Text 2 from entry</td>
  </tr>
  <tr>
    <td colspan="2">Text 3 from entry</td>
  </tr>
</table>

それはできますか、それとも他のタグを使用してこのようにレンダリングする必要がありますか?

私は試した:

...xmlns:p="http://primefaces.org/ui"...

<p:dataTable var="item" value="#{bean.items}">
  <p:column>
    <p:row>
      <p:column>
        <h:outputText value="#{item.title}" />
      </p:column>
      <p:column>
        <h:outputText value="#{item.shortText}" />
      </p:column>
    </p:row>
    <p:row>
      <p:column colspan="2">
        <h:outputText value="#{item.longText}" />
      </p:column>
    </p:row>
  </p:column>
</p:dataTable>

しかし、明らかにこれは間違っているか、「p:row」を使用するという概念を誤解しています。これを適切に行う方法についての説明が見つからないので、アドバイスをいただければ幸いです。

4

1 に答える 1

6

<p:panelGrid>この機能を簡単に実現できるコンポーネントを使用してみませんか?

基本的な例:

<p:panelGrid>
    <p:row>
        <p:column>Text 1 from entry</p:column>
        <p:column>Text 2 from entry</p:column>
    </p:row>
    <p:row>
        <p:column colspan="2">Text 3 from entry</p:column>
    </p:row>
</p:panelGrid>

埋め込まれたものには、次のものがあります。

<p:dataTable var="item" value="#{bean.items}">
    <p:column>
        <p:panelGrid>
            <p:row>
                <p:column><h:outputText value="#{item.title}" /></p:column>
                <p:column><h:outputText value="#{item.shortText}" /></p:column>
            </p:row>
            <p:row>
                <p:column colspan="2"><h:outputText value="#{item.longText}" /></p:column>
            </p:row>
        </p:panelGrid>
    </p:column>
</p:dataTable>
于 2013-05-15T13:17:07.417 に答える