Olá pessoal criei uma tabela para carregar os dados do banco porém não gostaria que carregasse a coluna do ID, sei que bastaria eu fazer um select apenas nas colunas desejadas porém preciso do ID para editar ou excluir. Sendo assim pensei na possibilidade de ocultar a coluna da tabela, percorrendo alguns tópicos do GUJ percebi que já tinham gerado essa dúvida, porém assim que abre a view a coluna não oculta. segue o modelo do código usado:
Achei que desta forma assim que fosse iniciado minha ViewAssunto as colunas seriam ocultas porém, permanecem visíveis. Como posso ocultar as mesmas assim que carregar a tela ?
Olá @Lucas_Camara é Swing, realmente os códigos que estão na meu método ocultarColunasTabelas ocultam. Porém no evento Click de algum botão, quando tento colocar esse mesmo método no construtor da minha ViewAssunto() ele não funciona. E o objetivo seria quando a tela fosse carregada as colunas desejadas não aparecessem entendeu ?
L
Lucas_Camara
Não sei se entendi muito bem, mas montei um exemplo aqui onde é possível alternar a visibilidade das colunas da tabela.
obs.: Talvez tenha forma mais simples de fazer. Talvez tenha usado mais código do que o necesśario
obs.: Como faço apenas para exemplificar, eu costumo colocar todas as classes no mesmo arquivo como inner classes estáticas. Isso é apenas para agilizar.
Repare que ela vem com todos os campos da minha base de dados pois preciso deles, estou preenchendo os campos com o click na linha da tabela desta forma:
Vendo alguns exemplos na internet de como ocultar a coluna construí um método para assim que carregar minha view as colunas desejadas ficarem invisíveis.
Chamei este método no construtor da view logo abaixo do initComponents() pensando que quando carregado já iria ocultar as colunas. Porém o que acontece é o contrário disso, a tabela é carregada com todas as colunas desconsiderando o método no qual eu coloquei para ser iniciado junto com o construtor da view.
L
Lucas_Camara1 like
O código que passei faz exatamente isso. Vc pode escolher quais colunas esconder, porém ele usa uma implementação customizada da model da tabela.
Do jeito que vc fez, parece que está usando DefaultTableModel, que dificulta muito a manipulação das colunas e dados da tabela.
Essas colunas que vc quer esconder, em algum outro momento vc vai querer que eles voltem a aparecer na tela?
C
Carlos_Daniel1
Vou tentar implementar não entendo muito bem como constrói uma tabela desta forma, só sei arrastar rsrsrs. Não, a coluna será oculta sempre.
L
Lucas_Camara1 like
Entendi. Pior que nunca usei assim arrastando os componentes. Se quiser tentar criar sua própria Model, faça uma tentativa e poste aqui que a gente te ajuda.
L
Lucas_Camara
Do jeito que fiz, a ideia que implementei era do usuário escolher quais colunas ele que mostar ou esconder, por isso o código ficou maior. Mas se for apenas para apresentar algumas colunas o código fica bem mais simples.
C
Solucao aceita
Carlos_Daniel1
É isso o usuário não pode ver as outras colunas, as mesmas devem ficar ocultas sempre. Eu consegui fazer de uma forma mas não sei se é uma boa prática, deixei minha tabela public static e chamei o método de ocultar no botão que abre minha view usuário, fazendo desta forma ocultou do jeito que quero.
L
Lucas_Camara1 like
Entendi. Uai, se resolveu tah blz. Só recomendo que não fique refém apenas dessa forma de modelar telas. Nem que seja apenas para ver como funciona, tente fazer via código pois é onde tudo acontece.
C
Carlos_Daniel1
Pode deixar, obrigado pela ajuda Lucas você é o kra.
S
staroski2 likes
Dá uma lida neste post que escrevi há algum tempo.