Как объединить ячейки (colspan) с помощью jsf h: panelGrid?

Предположим, что мне нужна таблица отображения:

+--------------------------------+
|        |           |           |
----------------------------------
|                    |           |
----------------------------------
|        |                       |
----------------------------------
|        |           |           |
----------------------------------
|        |           |           |
+--------------------------------+

Как я могу сделать это с помощью h:panelGrid?

Ответы

Ответ 1

Вы не можете сделать это со стандартной реализацией JSF. В JSF 1.2 можно было бы использовать Tomahawk <t:panelGroup colspan="2"> для это. Сейчас Tomahawk официально не совместим с JSF 2.0, но я просто попробовал.

<html xmlns:t="http://myfaces.apache.org/tomahawk">
...
<t:panelGrid columns="3">
    <t:panelGroup>row1cell1</t:panelGroup>
    <t:panelGroup>row1cell2</t:panelGroup>
    <t:panelGroup>row1cell3</t:panelGroup>

    <t:panelGroup colspan="2">row2cell1-2</t:panelGroup>
    <t:panelGroup>row2cell3</t:panelGroup>

    <t:panelGroup>row3cell1</t:panelGroup>
    <t:panelGroup colspan="2">row3cell2-3</t:panelGroup>

    <t:panelGroup>row4cell1</t:panelGroup>
    <t:panelGroup>row4cell2</t:panelGroup>
    <t:panelGroup>row4cell3</t:panelGroup>
</t:panelGrid>

И это работает. Я не гарантирую, что другие компоненты Tomahawk тоже будут работать.

Ответ 2

Я не думаю, что основной JSF поддерживает это, но некоторые сторонние реализации могут. Кто-то отправил это решение, используя Tomahawk в конце сообщения по следующему URL-адресу:

http://www.coderanch.com/t/211242/JSF/java/colspan