Faz o seguinte,
da uma olhada se o ResultSet está trazendo as informações
Faz o seguinte,
da uma olhada se o ResultSet está trazendo as informações
Ja tentou usar o DefaultTableModel no lugar do seu model ai…
pq se as linhas
head.add(rsmd.getColumnName(a));
body.add(bv);
funcionam…
Ate onde eu sei deveria aparecer os dados, tenta o DetaultTableModel:
[code]DefaultTableModel model = (DefaultTableModel) titulosEAutoresJTable.getModel();
int cont = model.getRowCount();
for (int i=0; i<cont; i++)
{
model.addRow(new Object[]{"seuDadoDaColuna0","seuDadoDaColuna1"});
}[/code]
Não sei…
O text está funcionando certinho…
[code]search.addActionListener(this); // JTextField que faz o filtro.
else if(ke.getSource() == search) {
String text = search.getText();
//tenta isso pra ver se o text funciona
System.out.println(text);
sorter.setRowFilter(RowFilter.regexFilter(text));
}[/code]
Coloca o código inteiro ai pra gente ver se acha o problema, pq estou dando uns chutes aqui e não estou acertando…
Pesoal,
Tenho um JTable que faz uma consulta no banco e retorna o resultado, tenho tbm um JTextField que faz um filtro na JTable.
Quando eu abro a tela JInternaFrame onde tem a JTable, o filtro do jtextfield funciona perfeitamente, mas se eu fechar a jenela e abrir novamente o filtro não funciona mais… não sei onde ta o erro nisso.
Abaixo segue o cod da JTable e do JTF
[code] TableModel model = new DefaultTableModel(body, head) {
public boolean isCellEditable(int body, int head) {
return false;
}
};
public TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
private void Table()throws Exception {
try {
rs = stmt.executeQuery("select cad_nr, cad_nome,
cad_fant, cad_fone, cad_fax, celular, cad_end,
cad_cpf, cad_rg, cad_cgc, cad_inscr, inscr_prod,
inscr_min, cid, bai, email from r_cadast");
rsmd = rs.getMetaData();
int col = rsmd.getColumnCount();
while(rs.next()) {
bv = new Vector<String>();
int a;
for(a=1;a<=col;a++) {
if(flag) {
head.add(rsmd.getColumnName(a));
}
bv.add(rs.getString(a)==null?"":(String)rs.getString(a));
}
body.add(bv);
flag=false;
}
}
catch(Exception exec) {
JOptionPane.showMessageDialog(null,“Problemas na tabela”, “Erro”, JOptionPane.INFORMATION_MESSAGE);
exec.printStackTrace();
}
jTable = new JTable(body, head);
jTable.setRowSorter(sorter);
jTable.setCellEditor(null);
jTable.setLocation(new Point(15, 118));
jTable.setBackground(new Color(204, 204, 204));
jTable.setAutoscrolls(true);
jTable.setSize(new Dimension(200, 200));
jTable.addKeyListener(this);
jTable.addMouseListener(this);
}[/code]
[code] search.addActionListener(this); // JTextField que faz o filtro.
else if(ke.getSource() == search) {
String text = search.getText();
sorter.setRowFilter(RowFilter.regexFilter(text));
}[/code]
Valeu pessoal
[quote=klarq]Faz o seguinte,
da uma olhada se o ResultSet está trazendo as informações [/quote]
Tá sim, na primeira vez que abre a janela o filtro com o jtext funciona normal, mas se fechar a janela e abrir denovo não funciona mais, daí tem que fechar o programa e abrir de novo. Ele até pega os resultados toda vez que abre a janela, mas o filtro não funciona…
Valeu
[quote=klarq]Ja tentou usar o DefaultTableModel no lugar do seu model ai…
[/quote]
Obrigado por responder.
Então, como eu falei, a tabela está mostrando o resultado. Meu problema é com o filtro que só funciona a primeira vez que eu abro a janela (que tem a JTable) e depois se eu fechar a janela e abrir novamente o filtro não funciona, daí tem que fechar o programa e abrir de novo.
Valeu
[quote=klarq]Não sei…
O text está funcionando certinho…
[/quote]
Aqui tbm funciona sem problemas, mas quando eu fecho a janela e abro não funciona mais.
Agora tá funcionando, só que pior. Quando eu fecho a janela que tem a JTable e abro novamente o jtextfield continua fazendo pesquisa, só que ele duplica os resultados, por exemplo: Se eu faço uma pesquisa pelo João e fecho a janela e abro a janela novamente e faço qualquer outra pesquisa ou até mesmo por João, ele mostra dois resultados. Se eu fecho e abro novamente a janela e faço uma outra pesquisa qualquer ele mostra três resultados e assim sucessivamente.
Se eu fechar o programa e abrir a janela ele faz a pesquisa normal, mas se eu fechar a janela e abrir acontece a mesma coisa, ele vai duplicando os resultados…