Группировка столбцов под одним заголовком в JSF - PullRequest
3 голосов
/ 03 ноября 2008

Эй, ребята, есть ли способ использовать JSF для группировки двух или более столбцов под одним родительским столбцом в JSF? У меня есть dataTableEx со столбцами hx: columnEx внутри него. Я хочу что-то вроде этого:

 [MAIN HEADER FOR COL1+2   ][Header for Col 3+4]

 [ COL1 Header][COL2 Header][COL3    ][COL 4   ] 

 Data          Data             Data     Data

 Data          Data             Data     Data

 Data          Data             Data     Data

 Data          Data             Data     Data

Данные Данные Данные Данные

Спасибо

Ответы [ 3 ]

0 голосов
/ 04 ноября 2008

Может быть, вы можете взглянуть на расширенные библиотеки компонентов, такие как RichFaces, которые предлагают более сложные структуры для таблиц данных, как в этом примере .

0 голосов
/ 05 ноября 2008

Вы можете достичь желаемого с помощью заголовка таблицы, панели Grid и небольшого CSS.

<style type="text/css">
.colstyle {
    width: 25%
}
</style>
</head>
<body>

<f:view>
    <h:dataTable border="1" value="#{columnsBean.rows}" var="row"
        columnClasses="colstyle">
        <f:facet name="header">
            <h:panelGrid columns="2" border="1" style="width: 100%">
                <h:outputLabel style="width: 100%" value="MAIN HEADER FOR COL1+2" />
                <h:outputLabel style="width: 100%" value="MAIN HEADER FOR COL3+4" />
            </h:panelGrid>
        </f:facet>
        <h:column>
            <f:facet name="header">
                <h:outputText value="COL1 Header" />
            </f:facet>
            <h:outputLabel value="#{row.col1}" />
        </h:column>
        <h:column>
            <f:facet name="header">
                <h:outputText value="COL2 Header" />
            </f:facet>
            <h:outputLabel value="#{row.col2}" />
        </h:column>
        <h:column>
            <f:facet name="header">
                <h:outputText value="COL3 Header" />
            </f:facet>
            <h:outputLabel value="#{row.col3}" />
        </h:column>
        <h:column>
            <f:facet name="header">
                <h:outputText value="COL4 Header" />
            </f:facet>
            <h:outputLabel value="#{row.col4}" />
        </h:column>
    </h:dataTable>
</f:view>
0 голосов
/ 03 ноября 2008

Ваша лучшая ставка, вероятно, будет использовать вложенные таблицы для первого заголовка (первый заголовок во внешней таблице, а второй заголовок и данные внутри вложенной таблицы), чтобы он выглядел как два заголовка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...