Olá Pessoal,
Estou com uma dúvida que já pesquisei e não achei nada que me ajudasse, a questão é a seguinte:
Tenha uma tela no meu sistema que exibe por exemplo as cidades cadastradas pelo usuário, porém estou sendo obrigado a exibir o campo id, pois é através dele que eu faço o “excluir” do meu CRUD que está sendo feito em JDBC, por isso queria saber se alguem sabe uma forma de preencher a coluna 0 da minha JTable porém nao exibi-la?
Obrigado.
Segue código abaixo:
[Preenchimento da tabela]
public class TelaSearchCidade extends TelaPadraoSearch {
public TelaSearchCidade() {
DefaultTableModel tabela = (DefaultTableModel) getJTableTabela()
.getModel();
tabela.addColumn("Código");
tabela.addColumn("Nome");
tabela.addColumn("Estado");
iniTabela();
botoes();
getJFramePrincipal().setVisible(true);
}
public void iniTabela() {
DefaultTableModel tabela = (DefaultTableModel) getJTableTabela()
.getModel();
tabela.setNumRows(0);
ResultSet rs = null;
if(getJTextFieldLocalizar().getText().isEmpty()){
rs = Cidade.consultarCidade();
}else{
rs = Cidade.consultarCidade(getJTextFieldLocalizar().getText());
}
try {
while (rs.next()) {
tabela.addRow(new Object[] { rs.getInt("id"),
rs.getString("nome"), rs.getString("estado") });
}
} catch (SQLException e) {
e.printStackTrace();
}
}
[Método para exclusão]
private void botoes() {
getJButtonExcluir().addActionListener(
new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
// TODO evento do botao excluir
try {
Cidade cidade = retornaCidade();
cidade.deletarCidade();
iniTabela();
} catch (NullPointerException ex) {
JOptionPane.showMessageDialog(null,
"Selecione algum item para ser excluído!",
"SCP - Software",
JOptionPane.INFORMATION_MESSAGE);
}
}
});
private Cidade retornaCidade() {
Cidade cidade = null;
int linha = getJTableTabela().getSelectedRow();
if (!(linha == -1)) {
cidade = new Cidade();
cidade.setId((Integer) getJTableTabela().getValueAt(linha, 0));
cidade.setNome((String) getJTableTabela().getValueAt(linha, 1));
cidade.setEstado((String) getJTableTabela().getValueAt(linha, 2));
}
return cidade;
}
public boolean deletarCidade() {
String sql = "DELETE FROM ccidade WHERE id=" + getId();
try {
PreparedStatement pstm = SuporteJDBC.Conexao()
.prepareStatement(sql);
return pstm.execute();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(),
"SCP - Software", JOptionPane.INFORMATION_MESSAGE);
}
return true;
}