Bom dia, estou com dois problemas principais em meu banco de dados.
Estou usando o Postgresql
Meus principais problemas são os seguintes, eu tenho a seguinte classe:
public class ModeloTabela extends AbstractTableModel{
private ArrayList linhas = null; //armazena dados private String[] colunas = null; //armazena nome das colunas public ModeloTabela(ArrayList lin, String[] col){ setLinhas(lin); setColunas(col); } public ArrayList getLinhas(){ return linhas; } public void setLinhas(ArrayList dados){ linhas = dados; } public String[] getColunas(){ return colunas; } public void setColunas(String[] nomes){ //nomes das colunas colunas = nomes; } public int getColumnCount(){ //numero de colunas return colunas.length; } public int getRowCount(){ //numero de linhas return linhas.size(); } public String getColumnName(int numCol){ //passa o numero de colunas return colunas[numCol]; } public Object getValueAt(int numLin, int numCol){ Object[] linha = (Object[])getLinhas().get(numLin); return linha[numCol]; }
}
E na minha classe que tenho a jtable tenho:
public void preencherTabela(String SQL){
ArrayList dados = new ArrayList();
String[] Colunas = new String[]{“ID”,“Empresa”,“Contato”,“Telefone 1”,“Telefone 2”,“Telefone 3”};
conectando.executaSQL(SQL); try { conectando.rs.first(); do{ dados.add(new Object[]{conectando.rs.getInt("con_id"),conectando.rs.getString("con_empresa"),conectando.rs.getString("con_contato"),conectando.rs.getString("con_tel1"),conectando.rs.getString("con_tel2"),conectando.rs.getString("con_tel3")}); }while(conectando.rs.next()); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, "Erro ao preencher o Arraylist!\nERRO "+ex); } ModeloTabela modelo = new ModeloTabela(dados, Colunas); jTabelaResumo.setModel(modelo); jTabelaResumo.getColumnModel().getColumn(0).setPreferredWidth(50); // ID jTabelaResumo.getColumnModel().getColumn(0).setResizable(false); jTabelaResumo.getColumnModel().getColumn(1).setPreferredWidth(120); //Empresa jTabelaResumo.getColumnModel().getColumn(1).setResizable(true); jTabelaResumo.getColumnModel().getColumn(2).setPreferredWidth(120); //Contato jTabelaResumo.getColumnModel().getColumn(2).setResizable(true); jTabelaResumo.getColumnModel().getColumn(3).setPreferredWidth(130); //Telefone 1 jTabelaResumo.getColumnModel().getColumn(3).setResizable(false); jTabelaResumo.getColumnModel().getColumn(4).setPreferredWidth(130); //Telefone 2 jTabelaResumo.getColumnModel().getColumn(4).setResizable(false); jTabelaResumo.getColumnModel().getColumn(5).setPreferredWidth(130); //Telefone 3 jTabelaResumo.getColumnModel().getColumn(5).setResizable(false); jTabelaResumo.getTableHeader().setReorderingAllowed(false); jTabelaResumo.setAutoResizeMode(jTabelaResumo.AUTO_RESIZE_OFF); jTabelaResumo.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
Meu problema eu não consigo fazer um pesquisar eficiente, que por exemplo mostre os cadastros de quem inicia com a letra P ou algo do gênero, tentei alguns códigos de pesquisa direto na jtable, mas não tive resultados alguém poderia me ajudar?
Outro dos meus problemas, eu não consigo exportar esta jtable para um excel para que depois possa ser impressa, como um relatório, todas as instruções que encontrei não me ajudaram, sou iniciante então não consegui nada complexo ainda.
Obrigado