Salve a tutti

Ho una tabella le cui righe sono renderizzate o meno a seconda del booleano "isVisible" del bean.
Questa tabella deve avere anche un header e un footer per ogni colonna.
Per quanto riguarda la visualizzazione delle righe non ho problemi.
Discorso diverso quando devo visualizzare entrambi gli header e footer.

Posto tre esempi con diverse organizzazioni degli elementi e relativi risultati:

CASO 1:
codice:
<ice:dataTable value="#{ array list valori}" var="item">
	<ice:column rendered="#{item.isVisible}">
		<f:facet name="header">
			<ice:outputText value="Titolo 1" />
		</f:facet>
		<ice:outputText value="#{item.valore1}" />
		<f:facet name="footer">
			<ice:outputText value="#{item.footer1}" />
		</f:facet>
	</ice:column>
	<ice:column rendered="#{item.isVisible}">
		<f:facet name="header">
			<ice:outputText value="Titolo 2" />
		</f:facet>
		<ice:outputText value="#{item.valore2}" />
		<f:facet name="footer">
			<ice:outputText value="#{item.footer2}" />
		</f:facet>
	</ice:column>
</ice:dataTable>
RISULTATO:
Non si vedono nè header nè footer

CASO 2:
codice:
<ice:dataTable value="#{ array list valori}" var="item">
	<f:facet name="header">
		<ice:column>
			<ice:outputText value="Titolo 1" />
		</ice:column>
		<ice:column>
			<ice:outputText value="Titolo 2" />
		</ice:column>
	</f:facet>
	<ice:column rendered="#{item.isVisible}">
		<ice:outputText value="#{item.valore1}" />
		<f:facet name="footer">
			<ice:outputText value="#{item.footer1}" />
		</f:facet>
	</ice:column>
	<ice:column rendered="#{item.isVisible}">
		<ice:outputText value="#{item.valore2}" />
		<f:facet name="footer">
			<ice:outputText value="#{item.footer2}" />
		</f:facet>
	</ice:column>
</ice:dataTable>
RISULTATO:
Si vede solo l'header

CASO 3:
codice:
<ice:dataTable value="#{ array list valori}" var="item">
	<f:facet name="header">
		<ice:column>
			<ice:outputText value="Titolo 1" />
		</ice:column>
		<ice:column>
			<ice:outputText value="Titolo 2" />
		</ice:column>
	</f:facet>
	<ice:column rendered="#{item.isVisible}">
		<ice:outputText value="#{item.valore1}" />
		<f:facet name="footer">
			<ice:outputText value="#{item.footer1}" />
		</f:facet>
	</ice:column>
	<ice:column rendered="#{item.isVisible}">
		<ice:outputText value="#{item.valore2}" />
		<f:facet name="footer">
			<ice:outputText value="#{item.footer2}" />
		</f:facet>
	</ice:column>
</ice:dataTable>
RISULTATO:
Anche qui l'header si vede correttamente.
Però del footer si vede solo l'ultima colonna, ignorando la/e precedente/i

Qualcuno mi può aiutare, correggendo anche un solo caso?
Grazie