¿Cómo puedo configurar colspan
y rowspan
en JSF <h:panelGrid>
?Cómo configurar colspan y rowspan en JSF panelGrid?
Respuesta
Ninguno de los dos es posible con la implementación estándar de JSF. Hay 3 formas de arreglar esto:
- Escriba el HTML simple usted mismo. Un
<h:panelGrid>
básicamente representa un HTML<table>
. Hacer lo mismo. - Cree un renderizador HTML personalizado que admita esto. Sin embargo, será mucho sudor y dolor.
- Utilice una biblioteca de componentes de terceros que admita esto.
- Tomahawk tiene un componente
<t:panelGroup>
que soportacolspan
en<h:panelGrid>
. - RichFaces (sólo 3.x) tiene un componente
<rich:column>
que soporta tantocolspan
yrowspan
en<rich:dataTable>
. - PrimeFaces tiene una
<p:row>
lado de<p:column>
que se apoya tanto en<p:panelGrid>
y<p:dataTable>
(también con<p:columnGroup>
).
- Tomahawk tiene un componente
Estoy de acuerdo con la respuesta de BalusC y quiero añadir, que la biblioteca de componentes Primefaces JSF2 también ofrece esta funcionalidad si utiliza su componente p:dataTable. Se llama agrupamiento allí.
asumen
a) un archivo de recursos mensaje con dos entradas:
key.row = </td> </tr> < tr> < td (ignorar espacios)
key.gt = >
b) row.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>
entonces, por ejemplo
<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>
</h:panelGroup>
imprime una tabla con 3 filas:
1) r1-c1, r1-c2, r1-c3
2) 3 en blanco celdas
3) un centro alineado de celdas, que tiene colspan 3 y que contiene un hello div ..
V.
No es la forma en que haría las cosas tampoco. Aunque podría responder la pregunta, intente también educar. Las malas prácticas son ... bueno ... malas. :) –
uso: rica: la columna de colspan="2"
RichFaces
<rich:column colspan="2">
<h:outputText value="Ingrese el texto de la imagen" />
</rich:column>
esta pregunta es sobre JSF y no las caras ricas – specializt
desde el 24 de Enero de 2012 Primefaces también tiene la posibilidad de utilizar colspan y rowspan en el componente de panelGrid Primefaces. Ver:
No hay manera de definir lapso de columna en el panel de rejilla, pero si se usa con prudencia se puede hacer que suceda por apenas etiqueta llano. Un ejemplo que me gustaría mostrarte.
<h:panelGrid columns="1" >
<h:panelGrid columns="2">
<h:commandButton image="resources/images/Regular5.jpg" action="booking/Create.jsf?faces-redirect=truebookingType=REGULAR">
</h:commandButton>
<h:commandButton id="button2" image="resources/images/Casual2.jpg" action="booking/Create.jsf?faces-redirect=truebookingType=CASUAL">
</h:commandButton>
</h:panelGrid>
<h:panelGrid columns="2">
<h:commandButton id="button3" image="resources/images/Instant2.jpg" action="booking/Create.jsf?faces-redirect=truebookingType=INSTANT">
</h:commandButton>
<h:commandButton id="button4" image="resources/images/Outstation6.jpg" action="booking/Create.jsf?faces-redirect=truebookingType=OUTSTATION">
</h:commandButton>
</h:panelGrid>
<h:commandButton id="button5" image="resources/images/ShareMyCar.jpg" action="booking/Create.jsf?faces-redirect=truebookingType=OUTSTATION">
</h:commandButton>
Tenga en cuenta que button5 se extiende por dos columnas, dado el tamaño que requiere.
- 1. Cómo fusionar celdas (colspan) usando jsf h: panelGrid?
- 2. Analizando una tabla con rowspan y colspan
- 3. ¿Cómo se usa colspan y rowspan en tablas HTML?
- 4. Añadir colspan y rowspan en la mesa sobre la marcha
- 5. JSF panelgrid alignment to top
- 6. JSF: h: dataTable vs h: panelGrid
- 7. Cómo establecer los valores de rowspan y colspan en gwt ¿Celda de cuadrícula que contiene un widget?
- 8. cabecera de la tabla HTML usando rowspan
- 9. colspan gridview rows
- 10. Colspan en IE7/8 no se respeta
- 11. Sustitución Colspan = "2" con Colspan = "4" utilizando Jquery
- 12. android table layout rowspan
- 13. Problemas para configurar JSF 2.0 en Eclipse Indigo
- 14. Cómo modificar el atributo ROWSPAN con jQuery?
- 15. Colspan abarca 2.5 columnas?
- 16. Colocación horizontal de los componentes en JSF
- 17. Tabla HTML "normalizar" con rowspan
- 18. ¿Hay un RowSpan = "Todo" en WPF?
- 19. seleccione td elemensts con colspan
- 20. JSF inputText y validateRegexPatter
- 21. JSF sesión y tunning
- 22. Establecer colspan dinámicamente con jquery
- 23. Autenticación y autorización JSF
- 24. reportlab: configuración colspan para td en rml
- 25. Adopción JSF y popularidad
- 26. Cómo reducir javax.faces.ViewState en JSF
- 27. Html multilines tables (rowspan): ¿cómo cebrar de la manera correcta?
- 28. ¿Cómo instalar y configurar PowerShell?
- 29. JSF 2.0 RenderResponse y ResponseComplete
- 30. ¿Qué es viewstate en JSF y cómo se usa?
¿Has probado la columna rich: en una panelgrid con colspan? Porque el documento dice: "Los atributos" colspan "," rowspan "y" breakbefore "solo afectan las columnas en a, no las de a ." –