Divda Table

Gostaria de uma ajuda, tenho uma Table com 3 colunas Ex.: Nome - Endereço - E-mail . Os dados para preencher as colunas e linhas vem diretamente do banco de dados, e alem das 3 colunas trago tbm o famoso ID, só que esse ID não quero exibir na JTable, pois iria utilizar por exemplo ao selecionar uma linha e pedir pra alterar aquele dado (provavelmente irá abri um frame para alteração) eu utilizaria o ID. Só que não sei aonde quardar esse ID , pois se crio 3 colunas e no Array de dados passo 4 colunas por conter o ID da erro é claro. Ae fica essa duvida de como utilizar esse ID sem mostrar na Table. Detalhe: Implemento o Modelo da Table (AbstractTableModel).

[]'s

numa lista na instancia da sua tela…

É interessante vc trazer uma lista com os objetos que representam cada linha da sua table. Aí vc mantém a lista ordenada de acordo com os dados na tabela e mostra somente os campos necessários.

Essa lista eu trago assim por exemplo:

public void popularTable(Collection<Report> reports)throws Exception{
		Report reportAux = null;
		Vector<Report> rpVector = (Vector<Report>)reports;
		this.linhas = new Object[reports.size()][model.getColumnCount()];
		
		try {
			for(int i = 0; i < rpVector.size(); i++){
				reportAux = (Report)rpVector.elementAt(i);
				this.linhas[i][0] = reportAux.getAtividade().getNome();
				this.linhas[i][1] = reportAux.getAtributo().getNome();
				this.linhas[i][2] = Times.getHour(reportAux.getDataInicial().getTime());
				this.linhas[i][3] = Times.getHour(reportAux.getDataFinal().getTime());
				//this.linhas[i][4] = reportAux.getId();
			}

			model.addRow(linhas);
			setModel(model);
		} catch (Exception e) {
			throw new Exception();
		} finally{
			reportAux = null;
			rpVector = null;
		}
		
	}

Mas este reportAux.getId() não quero mostrar na Table, vou precisar dele quando alguma linha for selecionada e ao clicar em um botão alterar, ai eu vou precisar do ID.

Malves,

É bom que você de uma procurada em exemplos de TableModel.

Você deverá criar uma classe que extende AbstractTableModel. Dentro dessa classe, você terá uma lista de objetos, que são as linhas de sua tabela. Toda a manipulação da table, como incluir, excluir, etc… será feito nessa classe model.

Fernando Rosa