Bom galera estou com um pequeno problema, tenho uma matriz que utilizo um hashmap, o problema que está ocorrendo é que preciso que na pagina os dados dessa matriz varie de cor de acordo com a situação, utilizei o a anotaçao @Transient, segue o codigo abaixo do metodo:
@Transient
public int getCorMatriz(){
int y = 4;
for (Reservas r: listaReserva) {
if(r.getSituacao().equalsIgnoreCase("Cliente está no hotel")){
y = 0;
//return y;
} else if(r.getSituacao().equalsIgnoreCase("Reserva confirmada")){
y = 1;
//return y;
} else if(r.getSituacao().equalsIgnoreCase("Pré-reserva faltando deposito")){
y = 3;
//return y;
} else if(r.getSituacao().equalsIgnoreCase("Já fez check out")){
y = 4;
//return y;
}
}
return y;
}
O que está acontencendo qnd descomento os return ele pega o 1 que acha e seta pra todos, e quando deixo o return no final ele retorna o ultimo q ele pega. Segue a pagina abaixo
<p:dataTable value="#{orcamentoBean.quarto}" var="cat" 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="#{cat}" />
</p:column>
<c:forEach var="mes" items="#{orcamentoBean.dia}">
<p:column style="max-width: 80px; min-width: 30px; overflow: hidden">
<f:facet name="header">#{mes}</f:facet>
<h:outputText value="#{orcamentoBean.valores[cat][mes]}" style="color:Green" rendered="#{orcamentoBean.corMatriz == 0}" >
<f:attribute name="cat" value="#{cat}"/>
<f:attribute name="mes" value="#{mes}"/>
</h:outputText>
<h:outputText value="#{orcamentoBean.valores[cat][mes]}" style="color:#FFD700" rendered="#{orcamentoBean.corMatriz == 1}" >
<f:attribute name="cat" value="#{cat}"/>
<f:attribute name="mes" value="#{mes}"/>
</h:outputText>
<h:outputText value="#{orcamentoBean.valores[cat][mes]}" style="color:Red" rendered="#{orcamentoBean.corMatriz == 3}" >
<f:attribute name="cat" value="#{cat}"/>
<f:attribute name="mes" value="#{mes}"/>
</h:outputText>
<h:outputText value="#{orcamentoBean.valores[cat][mes]}" style="color:Blue" rendered="#{orcamentoBean.corMatriz == 2}" >
<f:attribute name="cat" value="#{cat}"/>
<f:attribute name="mes" value="#{mes}"/>
</h:outputText>
<h:outputText value="#{orcamentoBean.valores[cat][mes]}" rendered="#{orcamentoBean.corMatriz == 4}" >
<f:attribute name="cat" value="#{cat}"/>
<f:attribute name="mes" value="#{mes}"/>
</h:outputText>
</p:column>
</c:forEach>
</p:dataTable>
Queria saber se tem algum outro metodo pra fazer isso ou se estou errando em alguma coisa, desde já agradeço a ajuda.