JSF でcolspan
とを設定するにはどうすればよいですか?rowspan
<h:panelGrid>
92048 次
6 に答える
63
標準のJSF実装では、どちらも不可能です。これを修正する方法は3つあります。
- プレーンHTMLを自分で記述します。
<h:panelGrid>
基本的にHTMLをレンダリングします<table>
。同じことをする。 - これをサポートするカスタムHTMLレンダラーを作成します。しかし、それはたくさんの汗と痛みになります。
- これをサポートするサードパーティのコンポーネントライブラリを使用してください。
- トマホークには、でサポートするコンポーネント
<t:panelGroup>
があります。colspan
<h:panelGrid>
- RichFaces(3.xのみ)には、との両方をサポートするコンポーネントが
<rich:column>
あります。colspan
rowspan
<rich:dataTable>
- PrimeFacesには、と(および)の両方でサポートされている
<p:row>
nextがあります。<p:column>
<p:panelGrid>
<p:dataTable>
<p:columnGroup>
- トマホークには、でサポートするコンポーネント
于 2010-06-24T15:17:37.707 に答える
9
2012 年 1 月 24 日以降、Primefaces は、Primefaces の panelGrid コンポーネントで colspan と rowspan を使用する可能性もあります。見る:
于 2012-02-13T09:42:22.887 に答える
2
使用:rich:RichFacescolspan="2"
の列
<rich:column colspan="2">
<h:outputText value="Ingrese el texto de la imagen" />
</rich:column>
于 2011-06-15T20:06:57.370 に答える
2
推定
2 つのエントリを持つメッセージ リソース ファイル:
key.row= key.gt=
</td></tr><tr><td
>
行.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jsp/jstl/core" > <c:forEach begin="0" end="#{colspan-2}"> <h:panelGroup /> </c:forEach> <h:panelGroup> <h:outputText value="#{i18n['key.row']}" escape="false" /> <h:outputText value=" colspan='#{colspan}' #{cellAttributes}" /> <h:outputText value="#{i18n['key.gt']}" escape="false" /> <ui:insert /> </h:panelGroup> </ui:composition>
次に、例えば
<h:panelGrid columns="3"> <h:outputText value="r1-c1" /> <h:outputText value="r1-c2" /> <h:outputText value="r1-c3" /> <ui:decorate template="/row.xhtml"> <ui:param name="colspan" value="3" /> <ui:param name="cellAttributes" value=" align='center'" /> <div>Hello!!!!!</div> </ui:decorate>
3 行の表を出力します。
r1-c1、r1-c2、r1-c3
空白セル3個
colspan 3 を持ち、hello div を含む、中央に配置されたセル。
于 2011-05-10T16:28:00.653 に答える
1
BalusC の回答に同意し、 p:dataTableコンポーネントを使用する場合、Primefaces JSF2 コンポーネント ライブラリもこの機能を提供することを追加したいと思います。そこでグルーピングといいます。
于 2010-09-20T09:32:21.480 に答える