Metodo limpiar jtable con consulta en combobox en java
Hola tengo un pequeño problema en una consulta que estoy haciendo con combobox dependientes cree un método que me limpie la tabla y otro que la llena con datos de la base cada vez que hago la consulta pero entonces al llamar la siguiente consulta no me muestra los datos .
Este es el codigo:
*Primer combo
private void combounoActionPerformed(java.awt.event.ActionEvent evt) {
String sql;
tema = combouno.getSelectedIndex();
switch (combouno.getSelectedIndex()) {
case 0: {
combodos.removeAllItems();
sql = "SELECT `nombre` FROM `sede`";
ConsultarItemns(sql);
break;
}
case 1: {
combodos.removeAllItems();
sql = "SELECT `nombre` FROM `campa`";
ConsultarItemns(sql);
break;
}
case 2: {
combodos.removeAllItems();
sql = "SELECT DISTINCT `estado` FROM `movimiento`";
ConsultarItemns(sql);
break;
}
case 3: {
combodos.removeAllItems();
sql = "SELECT DISTINCT `nombreleasing` FROM `movimiento`";
ConsultarItemns(sql);
break;
}
}
*Segundo combo
private void combodosActionPerformed(java.awt.event.ActionEvent evt) {
String sql = "--";
String campo;
try {
campo = combodos.getSelectedItem().toString();
switch (tema) {
case 0: {
limpiarTabla(tablebuscar);
sql = "SELECT * FROM `movimiento` WHERE `sede`='" + campo + "'";
// JOptionPane.showMessageDialog(null, sql);
llenarTabla(sql);
limpiarTabla(tablebuscar);
break;
}
case 1: {
limpiarTabla(tablebuscar);
sql = "SELECT * FROM `movimiento` WHERE `campa`='" + campo + "'";
// JOptionPane.showMessageDialog(null, sql);
llenarTabla(sql);
limpiarTabla(tablebuscar);
break;
}
case 2: {
limpiarTabla(tablebuscar);
sql = "SELECT * FROM `movimiento` WHERE `estado`='" + campo + "'";
// JOptionPane.showMessageDialog(null, sql);
llenarTabla(sql);
limpiarTabla(tablebuscar);
break;
}
case 3: {
limpiarTabla(tablebuscar);
sql = "SELECT * FROM `movimiento` WHERE `nombreleasing`='" + campo + "'";
llenarTabla(sql);
limpiarTabla(tablebuscar);
// JOptionPane.showMessageDialog(null, sql);
break;
}
}
} catch (Exception e) {
}
private void ConsultarItemns(String sql) {
ResultSet rs = null;
Conexion con = new Conexion();
Connection reg;
reg = con.conexionj();
try {
PreparedStatement pst = reg.prepareStatement(sql);
//ResultSet rs()=pst.executeQuery();
rs = pst.executeQuery();
while (rs.next()) {
combodos.addItem(rs.getString(1));
}
} catch (SQLException e) {
// JOptionPane.showMessageDialog(null, e);
}
}
public void llenarTabla(String sql) throws Exception {
//JOptionPane.showMessageDialog(null, "sql " + sql);
Conexion con = new Conexion();
Connection reg;
reg = con.conexionj();
ResultSet rs = null;
PreparedStatement pst = reg.prepareStatement(sql);
rs = pst.executeQuery();
rsm = rs.getMetaData();
while (rs.next()) {
Object[] filas = new Object[rsm.getColumnCount()];
for (int i = 0; i < filas.length; i++) {
filas[i] = rs.getObject(i + 1);
}
datos.add(filas);
}
dtm = (DefaultTableModel) tablebuscar.getModel();
for (int i = 0; i < datos.size(); i++) {
dtm.addRow(datos.get(i));
tablebuscar.getModel();
}
}
public void limpiarTabla(JTable tabla) {
try {
DefaultTableModel modelo = (DefaultTableModel) tabla.getModel();
int filas = tabla.getRowCount();
for (int i = 0; filas > i; i++) {
modelo.removeRow(0);
}
// if(filas==0){
// int columnas=tablebuscar.getColumnCount();
// for (int y = 0; y < columnas; y++) {
// modelo.removeRow(0);}
// }
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Error al limpiar la tabla.");
}
}
}
Agradecería su colaboración.
- Inicie sesión o regístrese para enviar comentarios
Comentarios recientes
hace 8 semanas 4 días
hace 9 semanas 6 días
hace 16 semanas 4 días
hace 1 año 9 semanas
hace 2 años 21 semanas
hace 2 años 25 semanas
hace 2 años 32 semanas
hace 2 años 40 semanas
hace 2 años 43 semanas
hace 2 años 44 semanas