[Resolvido]-Mudar cor conforme palavra - DataTable

Bom dia galera, tudo certo? Bem, na minha aplicação estou utilizando uma list de registro aulas. Nela, contém uma coluna dizendo se o aluno está presente ou ausente. Estou tentando fazer o seguinte: quando o aluno estiver ausente, colocar a palavra ausente em Vermelho, porém, não estou conseguindo…Estou seguindo um exemplo do Primefaces, mas não estou conseguindo…Abaixo o xhtml:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:treap="http://java.sun.com/jsf/composite/treap"
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <style type="text/css">
            .color {
                background-color:  red;
            }
        </style>
    </h:head>
.......

  <p:dataTable id="tabela1"
                             value="#{acessoAlunoPresencasJsfBean.presencaList}"
                             var="pre"
                             emptyMessage="Nenhum registro encontrado."
                             paginator="true"
                             rows="10"
                             pageLinks="5"
                             paginatorPosition="bottom"
                             paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink}
                             {PageLinks} {NextPageLink} {LastPageLink} Exibir: {RowsPerPageDropdown}
                             Encontrados: #{acessoAlunoPresencasJsfBean.presencaList.size()}"
                             rowsPerPageTemplate="10,25,35,50"
                             rowStyleClass="#{pre.presencaCompleta eq 'Ausente' ?'color' : null}"
                             lazy="true">

 <p:column headerText="Situação">
                         <h:outputText value="#{pre.presencaCompleta}"/>
                    </p:column>

E na minha classe:

    public String getPresencaCompleta() {
        if (status == null ? "S" == null : status.equals("S")) {
            return "Presente";
        } else {
            return "Ausente";
        }
    }

Se alguém puder ajudar, agradeço mto…Vlw…

Fala Ricardo,

Estranho, porque fiz praticamente a mesma coisa que vc fez e para mim deu certo. A linha com o valor ‘I88’ ficou vermelha, mas caso você queira só a palavra em vermelho ao invés da linha o atributo css é “color” ao invés de “background-color”.

Minha apliacação:


<h:head>  
        <style type="text/css">  
            .color {  
                background-color:  red;  
            }  
        </style>  
    </h:head>  


 <p:dataTable 
    id="dataTableEmpresa"  
    var="empresaTO"	
    value="#{empresaBean.empresasTO}"						
    rowKey="#{empresaTO}" 
    emptyMessage=""																		
    selectionMode="single"   
    rowStyleClass="#{empresaTO.fantasia eq 'I88' ?'color' : null}"  >


....

Tenta colocar o atributo “rowKey”, bem que acho que isso não tem nada a ver, mas tenta fazer igual o meu e depois vai colocando o que você colocou a mais aos poucos. Talvez possa ser o atributo lazy.

Abraço,

Gustavo

[quote=gustavo_souza]Fala Ricardo,

Estranho, porque fiz praticamente a mesma coisa que vc fez e para mim deu certo. A linha com o valor ‘I88’ ficou vermelha, mas caso você queira só a palavra em vermelho ao invés da linha o atributo css é “color” ao invés de “background-color”.

Minha apliacação:


<h:head>  
        <style type="text/css">  
            .color {  
                background-color:  red;  
            }  
        </style>  
    </h:head>  


 <p:dataTable 
    id="dataTableEmpresa"  
    var="empresaTO"	
    value="#{empresaBean.empresasTO}"						
    rowKey="#{empresaTO}" 
    emptyMessage=""																		
    selectionMode="single"   
    rowStyleClass="#{empresaTO.fantasia eq 'I88' ?'color' : null}"  >


....

Tenta colocar o atributo “rowKey”, bem que acho que isso não tem nada a ver, mas tenta fazer igual o meu e depois vai colocando o que você colocou a mais aos poucos. Talvez possa ser o atributo lazy.

Abraço,

Gustavo[/quote]

Dae, cara blz?? Bem, mais uma vez vc me ajudando ;D… Cara, ia postar antes que consegui, mas tava fazendo outras coisas ae… Fiz o seguinte:

<p:column headerText="Situação">
                        <h:outputText value="#{pre.presencaCompleta}" rendered="#{pre.status eq 'N'}" style="color: red"/>
                        <h:outputText value="#{pre.presencaCompleta}" rendered="#{pre.status eq 'S'}" style="color: #000"/>
                    </p:column>

Não sei se é a maneira mais correta, mas enfim… Se tiver solução melhor e tals… Posta aí… Vlw fera, abc!!