Criei uma tabela em ASPX. Quero ocultar uma das colunas com base no requisito, mas não há nenhum atributo como visible
na construção da tabela HTML. Como posso resolver meu problema?
html
asp.net
html-table
user601367
fonte
fonte
td:first-child { display:none; }
Você pode usar o
nth-child
seletor CSS para ocultar uma coluna inteira:Isso funciona supondo que uma célula da coluna N (seja a
th
outd
) é sempre o enésimo elemento filho de sua linha.Aqui está uma demonstração.
Se você quiser que o número da coluna seja dinâmico, pode fazer isso usando
querySelectorAll
ou qualquer estrutura que apresente funcionalidade semelhante, comojQuery
aqui:Demonstração com jQuery
(A solução jQuery também funciona em navegadores legados que não oferecem suporte
nth-child
).fonte
você também pode usar:
A diferença entre eles que "oculta" esconde a célula, mas mantém o espaço, mas com "colapso" o espaço não é mantido como exibição: nenhum. Isso é significativo ao ocultar uma coluna ou linha inteira.
fonte
visibility: collapse
é projetado especificamente para lidar com a exibição / ocultação da célula, uma vez que há uma diferença ao recalcular a largura / altura da célula entre isso edisplay:none
. Consulte developer.mozilla.org/en-US/docs/Web/CSS/visibility#ValuesA resposta de Kos está quase certa, mas pode ter efeitos colaterais prejudiciais. Isso é mais correto:
CSS (Cascading Style Sheets) colocará atributos em cascata para todos os seus filhos. Isso significa que
*:nth-child(1)
irá ocultar o primeirotd
de cadatr
E ocultar o primeiro elemento de todos ostd
filhos. Se algum de seustd
tiver coisas como botões, ícones, entradas ou seleções, o primeiro será escondido (woops!).Mesmo se você não atualmente tem coisas que vão ser escondidas, imagem sua frustração na estrada se você precisa adicionar um. Não castigue o seu futuro eu assim, vai ser chato depurar!
Minha resposta só vai esconder a primeira
td
eth
em todostr
em#myTable
manter seus outros elementos de segurança.fonte
Pessoas bootstrap usam
.hidden
classe em<td>
.fonte
Você também pode ocultar uma coluna usando o elemento col https://developer.mozilla.org/en/docs/Web/HTML/Element/col
Para ocultar a segunda coluna em uma tabela:
Problemas conhecidos: isso não funciona no Google Chrome. Vote no bug em https://bugs.chromium.org/p/chromium/issues/detail?id=174167
fonte
use .hideFullColumn na tabela e .hidecol na tabela. Você não precisa adicionar classe em td individualmente, pois será um problema porque o índice pode não estar em mente para cada td.
fonte
Você também pode fazer o que vs dev sugere programaticamente atribuindo o estilo com Javascript, iterando através das colunas e definindo o elemento td em um índice específico para ter esse estilo.
fonte
fonte