Как генерировать динамические столбцы в JSF Datatable?
Хотелось бы иметь следующую структуру таблицы данных:
+--------------------------------------------------------------+
| dynamic | dynamic | dynamic |
|--------------------------------------------------------------|
| col1 | col2 | col3 | col1 | col2 | col3 | col1 | col2 | col3 |
|--------------------------------------------------------------|
| data | data | data | data | data | data | data | data | data |
Причина в том, что я не знаю, сколько столбцов нужно отобразить, пока я не запросю базу данных. Столбцы в col1, col2, col3 всегда одинаковы.
Я пробовал со следующими данными:
<h:form id="form">
<h:panelGrid columns="3" style="margin:10px 0">
<p:outputLabel for="template" value="Adid:" style="font-weight:bold"/>
<p:inputText id="template" value="#{reportingView.adId}" size="50"/>
<p:commandButton update="kpi_table" actionListener="#{reportingView.updateColumns}" value="Create Data" process="@parent" icon="ui-icon-refresh" oncomplete="PF('carsTable').clearFilters()"/>
</h:panelGrid>
<p:dataTable id="reportingTable" var="pi" value="#{reportingView.indicators}" widgetVar="indicatorTable" filteredValue="#{reportingView.filteredValues}">
<p:columns value="#{reportingView.columns}" var="column" columnIndexVar="colIndex" sortBy="#{pi[column.property]}" >
<f:facet name="header">
<h:outputText value="#{column.header}" />
</f:facet>
<p:columnGroup type="header">
<p:row>
<p:column headerText="1" />
<p:column headerText="2" />
<p:column headerText="3" />
</p:row>
</p:columnGroup>
</p:columns>
</p:dataTable>
</h:form>
Но, как вы можете себе представить, это не сработает - columnGroup, похоже, игнорируется. Я полагаю, что невозможно объединить динамическую структуру со статическими столбцами. Кто-нибудь решал подобную проблему?
большое спасибо