Como esconder colunas de um dataTable

Bom dia, estou com problema em um dataTable, ela consiste em uma matriz cliente x dias, só que em cada coluna tem um collspan = 2, até ai tudo bem só que pra fazer isso tive que pegar os dias do mes e multiplicar por 2. Exemplo: fevereiro tem 29 dias só que no List conta como 58. Ai que entra meu problema preciso que os dias a partir do dia 30 no mes de fevereiro não apareça. Porque eu fiz isso, como cada coluna tem um collspan = 2 foi o unico jeito que encontrei pra cada coluna ter 2 valores.

Segue o código da pagina:

<h:panelGrid columns="3">				
		<p:dataTable value="#{matrizBean.cliente}" var="cliente" bgcolor="#FFFFFF" id="teste" style="max-width: 550px; min-width: 550px">
			<p:column style="max-width: 50px; min-width: 30px">
				<f:facet name="header">Quarto</f:facet>
				<h:outputText value="#{cliente}" />				
			</p:column>
			<c:forEach var="mes" items="#{matrizBean.dia}">
				<p:column style="max-width: 80px; min-width: 30px; overflow: hidden" colspan="2" rendered="#{matrizBean.colunaMatriz}">					
					<f:facet name="header">#{mes}</f:facet>
						 
					    <h:outputText value="#{matrizBean.valores[cat][mes]}" style="color:Green">
					    	<f:attribute name="cliente" value="#{cliente}"/>
					    	<f:attribute name="mes" value="#{mes}"/>
						</h:outputText>
				</p:column>	
			</c:forEach>
		</p:dataTable>			
		</h:panelGrid>

Usei o rendered só que não está funcionando segue o metodo pro rendered

public boolean getColunaMatriz(){

		cal.setTime(mesAtual);
		cal.set(Calendar.DAY_OF_MONTH, 1);			
		int ultimoDia = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
		int tamanho = dia.size();
		for (String mes: this.dia) {
			Integer mesA = Integer.parseInt(mes);
			if(mesA <= ultimoDia){
				coluna = true;
				return coluna;
			}else{
				coluna = false;
				return coluna;
			}
		}
		return coluna;
		
	}

já testo o teu método para saber se ele está retornando o esperado?

Ele está entrando aénas uma vez no método, pensava q com o c:foreach na página ele faria com que entrasse varias vezes no metodo