Melhor forma de armazenar campo ID sem aparecer em uma jtable.  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
petter
Virtual Machine Man

Membro desde: 28/04/2006 17:11:34
Mensagens: 662
Offline

Pessoal tenho um pequeno app que armazena alguns dados em uma tabela do Oracle, essa tabela tem um seqüencia para gerar um campo ID, e quando gravo em exibo alguns campos gravados na tabela em uma jTable para melhor controle do usuário, tudo funcionando bem.
Agora preciso dar a opção do usuário apagar alguma das linhas gravadas, gerei esse processo (de seleção na jTable) funcionando beleza, contudo o ideal é eu pegar o campo ID para passar ele pro delete, porém eu varro as linhas da jTable que não armazenam o ID, alguém pode indicar uma forma coerente, sem fazer gambiarra de como armazenar esse ID e sem exibi-lo na minha jTable.
Não sei se fui claro o suficiente.

-----------------------------------------
Java is the future
-----------------------------------------
[WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Se você definir seu próprio TableModel, pode fazer um que reflita os campos de seu objeto (que deve conter o ID) sem fazer aparecer o ID. E dessa forma, quando você selecionar uma linha, poderá obter o ID.
[WWW]
Pedrosa
JWizard
[Avatar]

Membro desde: 13/07/2005 13:08:08
Mensagens: 2505
Localização: São Paulo - Brasil
Offline

Tive a mesma dúvida aqui:
http://www.guj.com.br/posts/list/62404.java
petter
Virtual Machine Man

Membro desde: 28/04/2006 17:11:34
Mensagens: 662
Offline

Pessoal valeu, realmente eu não sabia que podia armazenar um dado no modelo sem realmente exibi-lo na minha jTable.

Em tempo, eu uso DefaultTableModel, isso interfere alguma coisa em relação ao TableModel?


-----------------------------------------
Java is the future
-----------------------------------------
[WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Pois é, o recomendado, se você quer usar seu próprio List<SeuObjeto> para servir de base a um TableModel, é derivá-lo de AbstractTableModel, em vez de usar o DefaultTableModel.
[WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Um exemplo bobo:
[WWW]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Quando eu populo a JTable, eu armazeno em uma das células (normalmente a primeira coluna) o objeto inteiro e não só algum atributo do mesmo, assim quando eu clico eu consigo recuperar o objeto todo. Para exibição eu implemento o toString que vai retornar apenas o valor q eu quero q seja exibido na célula.

Acho que é mais simples.

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team