[RESOLVIDO] Substring dentro de um p:datatable

5 respostas
marcos4ft

Pessoal,

To com um problema aqui e não consigo encontrar a solução.

Tenho um p:dataTable que exibe uma lista de Pessoa.
Nesse datatable tenho uma coluna com o nome da pessoa. Eu quero que quando o nome for maior
que 10 caracteres, ele exibe parte do nome mais “…”

Por exemplo:
Nome: JOSE DA SILVA COSTA
Ficaria: JOSE DA…

e colocaria uma tooltip pra exibir o nome completo.

existe alguma forma de eu colocar essa substring no campo?

Estou usando JSF2 + primefaces 3

5 Respostas

jweibe

Cara é só vc importar a taglib do JSTL functions.
Depois:

${fn:substring(p.nome,0,10)}
marcos4ft

Olá jweibe, dessa forma funcionou perfeitamente,

agora estou com problema na hora da verificação.

Estou fazendo assim:

<c:if test="${fn:length(pessoa.nome) > 10}">
					<h:outputText value="${fn:substring(pessoa.nome, 0, 10)}" title="#{pessoa.nome}" />
				</c:if>

Fiz assim só pra ver se ele iria imprimir apenas as que fossem maior q 10 caracteres, porém está imprimindo todos os registros,
mesmo os nome que possuem menos de 10 caracteres.

marcos4ft

Consegui resolver, vou usar o rendered ao invés do c:if

<h:outputText value="${fn:substring(pessoa.nome, 0, 10)}" title="#{pessoa.nome}" rendered="${fn:length(pessoa.nome) > 10}" />

vlwww

alandiniz

de onde veio esse: fn:

jweibe

weibe:
E só vc importar a taglib do JSTL functions.
Depois:

${fn:substring(p.nome,0,10)}

fn: faz parte da taglib JSTL.

&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %&gt;
Criado 12 de março de 2012
Ultima resposta 12 de mar. de 2012
Respostas 5
Participantes 3