Re: [javasf] Como alterar a altura das linhas no <p:dataTable> ?

867 views
Skip to first unread message

Everton Fujimoto

unread,
Sep 21, 2012, 1:42:46 PM9/21/12
to jav...@googlegroups.com
Tenta algo assim, no dataTable coloca um styleClass, por exemplo, minhatabela. Aí no css vc faz o seguinte:

.minhatabela tr{propriedades css da linha}
.minhatabela td{propriedades css da célula}

E por aí vai.

Talvez tenha que fazer algo assim às vezes:

.minhatabela td[role=gridcell]{blablabla}

Ou então adicionar uma flag !important no final da propriedade:


.minhatabela td{nowrap:nowrap !important}

Para que o navegador entenda que é para usar esse ao invés do valor do css do primefaces.

Att.
Everton William Fujimoto
Hecate Systems
CIO
(47)3394-5516
(47)9947-5481



Em 21 de setembro de 2012 14:14, Giorne Souza <geod...@hotmail.com> escreveu:
Boa tarde a todos,

Prezados, é o seguinte:
Tenho um dataTable do primefaces que deve ter todas as suas linhas ( altura ) padrão. Procurando no manual do primefaces, vi que ele não tem uma propriedade específica para height como tem para width. Tentei usar o style: height:20px; e styleClass para todas as colunas e o style:overflow:hidden na tabela, para que os campos fossem exibidos incompletos e nada! 
Tentei usar o rowStyleClass="teste" e ter a classe #teste{height:20px;} e também não funcionou. 

Visualmente não é nada agradável, a altura das linhas da table mudam de acordo com a quantidade de conteudo, quando usei o overflow:hidden da tabela até que funcionou em parte, os campos não ficaram completos, mas ainda assim, a altura dessa linha ficou 2x maior que a altura da linha anterior.

Eu procurei no grupo e não achei nada parecido, então criei um novo tópico, se alguém puder me ajudar, ficarei grato.


Att,

Giorne Souza

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

Everton Fujimoto

unread,
Sep 21, 2012, 6:55:07 PM9/21/12
to jav...@googlegroups.com
Olha bem o seu css usando um inspetor de objetos (firebug por exemplo), e procura quais as propriedades que seu browser está interpretando e quais não. Normalmente ele interpreta as propriedades descritas em classes mais específicas, quanto mais específico for sua descrição de classe, maior parte dele será interpretado "em cima" das classes do primefaces. 

Além de deixar as declarações mais específicas (por exemplo, colocar várias classes hierárquicas, ids, etc...) você pode usar o !important que mencionei antes. 

Tenta entender melhor como o navegador escolhe qual css vai interpretar para cada elemento, se eu tenho por exemplo:

<div class="externo" id="externo">
  <div class="interno" id="interno"></div>
</div>

E colocar no css:

div{width:800px}
div div{width:600px}

Para a primeira div, ele vai usar a largura 800px, para a de dentro, por div div ser mais específico que div, ele vai usar a largura 600px. 

Se eu colocar uma outra linha:

div .interno{width:400px}

Ele vai passar a interpretar esse div .interno. Ou melhor ainda, se eu colocar pelo id:

#externo div{width:550px}

Ele vai interpretar essa última forma.


Att.
Everton William Fujimoto
Hecate Systems
CIO
(47)3394-5516
(47)9947-5481



Em 21 de setembro de 2012 19:18, Giorne Souza <geod...@hotmail.com> escreveu:
Caro Fujimoto, agradeço a sua ajuda, fiz o que você falou, não funcionou. Não sei porque, talvez tenha sido por não ter configurado o cellgrid ( não entendi muito bem como fazer ). Depois disso eu fui no manual do prime e descobri a classe da tabela, é a ui-datatable ( corpo ) e ui-datatable-data (dados) eu criei uma classe igual a ui-datatable-data no meu css e mudei as propriedades. Até consegui algum padrão - deixei todas as linhas ( alturas ) iguais, porém, a uniformidade só durou até ter inserido uma quantidade muito grande de dados em uma linha, essa linha, não obedeceu os padrões do meu css. Lembrando que na classe ui-datatable deixei a propriedade: overflow:hidden.

Falei com um amigo analista e ele me disse que geralmente faz esse tratamento reduzindo o tamanho dos dados com um método, eu aguardarei ele me mostrar a solução. Só reiterando que se alguém souber resolver esse problema e puder ajudar, estarei grato.

att,

Giorne Souza 
Reply all
Reply to author
Forward
0 new messages