Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fael

Exibir/Ocultar coluna inteira de uma tabela

Recommended Posts

Pessoal,

 

Como eu faço para exibir/ocultar uma coluna inteira de uma tabela sem ter que colocar isso para cada célula:

 

document.getElementById('column0').style.display = '';document.getElementById('column1').style.display = '';document.getElementById('column2').style.display = '';

Abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites
document.getElementById("column0").style.display = "block";document.getElementById("column0").style.display = "none";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim amigo, isso eu sei, tanto é que eu botei o exemplo...Mas eu queria algo mais dinâmico... Tipo percorresse todas as colunas que tivessem id começando com column.Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim amigo, isso eu sei, tanto é que eu botei o exemplo...

Mas eu queria algo mais dinâmico... Tipo percorresse todas as colunas que tivessem id começando com column.

Valeu!

esqueça o ID//

 

Dê uma classe diferente para as células de cada coluna: celulasdacoluna1 = classe1; celulasdacoluna2 = classe2;

 

Use um laço ( "for" )

para percorrer todas as células e verificar se o valor do atributo class é igual ao das células ( o conjunto da células representa a coluna ) q você deseja "sumir" da tela.

 

Se no teste der "Verdadeiro", quer dizer q a célula pertence à coluna q tuh quer "sumir" da tela,

então tu altera o valor do display desse elemento.

 

 

Uso isso num sistema pra gerenciar catálagos d qualquer coisa, é bem flexível e com cookies tu permite q

o usuário escolha quais os campos ele quer deixar ou não visível, ou seja, o user configura a tela, isso é bom.

 

No lugar da tabela uso uma lista não ordenada e as minhas "células" são tags spans//

ae tuh usa display:table para "ul", table-cell para "li" e já era.

Teu código fica + legível pra fazer qualquer manutenção e funciona redondo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Sim amigo, isso eu sei, tanto é que eu botei o exemplo...

Mas eu queria algo mais dinâmico... Tipo percorresse todas as colunas que tivessem id começando com column.

Valeu!

esqueça o ID//

 

Dê uma classe diferente para as células de cada coluna: celulasdacoluna1 = classe1; celulasdacoluna2 = classe2;

 

Use um laço ( "for" )

para percorrer todas as células e verificar se o valor do atributo class é igual ao das células ( o conjunto da células representa a coluna ) q você deseja "sumir" da tela.

 

Se no teste der "Verdadeiro", quer dizer q a célula pertence à coluna q tuh quer "sumir" da tela,

então tu altera o valor do display desse elemento.

 

 

Uso isso num sistema pra gerenciar catálagos d qualquer coisa, é bem flexível e com cookies tu permite q

o usuário escolha quais os campos ele quer deixar ou não visível, ou seja, o user configura a tela, isso é bom.

 

No lugar da tabela uso uma lista não ordenada e as minhas "células" são tags spans//

ae tuh usa display:table para "ul", table-cell para "li" e já era.

Teu código fica + legível pra fazer qualquer manutenção e funciona redondo.

 

Podes me passar um exemplo de como ficaria o for? Não sei como faço para percorrer todas as células... http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

Valeu! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver! :D

 

Criei uma função, ficou assim:

 

function showHideColumn() {	var idDaTabela = "target";	var prefixo = "cel-";		var TRs = document.getElementById(idDaTabela).getElementsByTagName("tr");  for (var linha = 0; linha <= TRs.length; linha++) {		if ( document.getElementById(prefixo + 0 + "-" + linha) ) {		  showHide(prefixo + 0 + "-" + linha);		}		if ( document.getElementById(prefixo + 1 + "-" + linha) ) {		  showHide(prefixo + 1 + "-" + linha);		}		if ( document.getElementById(prefixo + 2 + "-" + linha) ) {		  showHide(prefixo + 2 + "-" + linha);		}  }}

Obrigado pessoal pelas dicas! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.