DataTable:Colocar cor diferente apenas nas linhas com celular preenchidas como inativo

271 views
Skip to first unread message

hermogenes Silva

unread,
Aug 25, 2014, 11:00:20 AM8/25/14
to jav...@googlegroups.com
Olá pessoal,
estou em busca de uma solução para setar uma color nas linhas de um datatable com celular preenchidas com a palavra inativo.

Exempl
o:
NOME     STATUS
joa           Ativo
Maria       Inativo
gloria       Ativo

Todas as linhas que tem status inativo devem vir com a cor azul por exemplo.

Lembrando que estou conseguindo zebrar normalmente diferenciando por linhas pares e ímpares. Agora o meu próximo passo é discriminar todos os itens inativos.

Obrigado.
att.

Lessandro Notaroberto Pyrâmides

unread,
Aug 25, 2014, 12:22:39 PM8/25/14
to jav...@googlegroups.com

Faz um ternário amigo:

 

Utilze o styleClass do <h:column ex: styleClass=”#{managedBean.linha.ativo ? ‘styleAtivo’ : ‘styleInativo’}”, nesse

caso ele vai colorir cada coluna da linha ativa.

 

Abs,

Lessandro

--
Você recebeu essa mensagem porque está inscrito no grupo quot;javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAB%2BSbepxmLi6Mawpoqd1%3DAZ6wzYudNLj8Faa0SbwtV8w%3Dx9M2g%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Lessandro Notaroberto Pyrâmides

unread,
Aug 25, 2014, 12:26:55 PM8/25/14
to jav...@googlegroups.com

Esqueci de mencionar, onde está #{managedBean.linha.ativo vc pode utilizar o “var” que você

definiu no datatable. Ex: #{produto.ativo}.

Abs

 

De: Lessandro Notaroberto Pyrâmides [mailto:lessandron...@gmail.com]
Enviada em: segunda-feira, 25 de agosto de 2014 13:23
Para: 'jav...@googlegroups.com'
Assunto: RES: [javasf] DataTable:Colocar cor diferente apenas nas linhas com celular preenchidas como inativo

 

Faz um ternário amigo:

 

Utilze o styleClass do <h:column ex: styleClass=”#{managedBean.linha.ativo ? ‘styleAtivo’ : ‘styleInativo’}”, nesse

caso ele vai colorir cada coluna da linha ativa.

 

Abs,

Lessandro

 

De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de hermogenes Silva
Enviada em: sábado, 23 de agosto de 2014 19:00
Para: jav...@googlegroups.com
Assunto: [javasf] DataTable:Colocar cor diferente apenas nas linhas com celular preenchidas como inativo

 

Olá pessoal,


Exempl
o:

--

Arthur Gregório

unread,
Aug 25, 2014, 1:08:45 PM8/25/14
to jav...@googlegroups.com
Se estiver usando primefaces tem uma propriedade da datatable que define o estilo por linha: rowstyleclass

Arthur P. Gregório
+55 45 9958-0302
@gregorioarthur
www.arthurgregorio.eti.br


hermogenes Silva

unread,
Aug 26, 2014, 12:39:40 PM8/26/14
to jav...@googlegroups.com
Obrigado Lessando,
Entendi sua dica e até tentei melhorar fizendo algo do tipo
<h:datatable
value="#{mBProcedenciaExterna.listaProdencia}" var="p"
rowsClass=”#{p.ObterNomeEstilo(p)}”

Porém o parâmetro está sendo passado  NULO para managerBen isso complicou a situação porque preciso do bean populado para que eu posso implementar uma estrutura de seleção if() e retornar os nomes dos estilos.

De qualquer forma tua dica foi muito importante, vlw



Em 25 de agosto de 2014 13:26, Lessandro Notaroberto Pyrâmides <lessandron...@gmail.com> escreveu:

Erick Rodrigues

unread,
Aug 28, 2014, 2:12:38 PM8/28/14
to jav...@googlegroups.com
Porque está passando um parametro para ele mesmo?
Se fizer p.ObterNomeEstilo();  não vai?

Lessandro Notaroberto Pyrâmides

unread,
Aug 28, 2014, 4:13:58 PM8/28/14
to jav...@googlegroups.com

Não seria rowsClass=”#{BProcedenciaExterna.ObterNomeEstilo(p)}”?

A sua var “P” é um item dessa lista, podendo ser um objeto, uma string, não sei qual o tipo da sua “listaProdencia”.

É muito estranho você passar para o próprio item o item percorrido, não sei se você me entendeu.

Abraços,

Lessandro

Reply all
Reply to author
Forward
0 new messages