Netbeans - REPITE DATOS DE UN JTABLE

 
Vista:

REPITE DATOS DE UN JTABLE

Publicado por antonio peris (9 intervenciones) el 21/05/2018 22:48:23
Hola compañeros:

Para realizar una busqueda en una table de MySQL, pulso el botón Buscar, me muestra una JDialog para seleccionar el va01 y llama al método siguiente para mostrar un Jtable:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
void CargarTablaFicha(){
    //Para poner los títulos de la tabla
    String[] titulos = {"Id","CULTIVO", "POSOLOGIA", "D. MINIMA", "D. MAXIMA", "PLAZO SEGURIDAD", "OBSERV.?"};
    //Para agregar los elementos de la tabla
    String[] registro = new String[7];
    modelo = new DefaultTableModel(null, titulos);
    //Para establecer la conexión
    ConexionMySQL mysql = new ConexionMySQL();
    Connection cn = mysql.Conectar();
    //Crea la consulta MySQL
    //JOptionPane.showMessageDialog(null, "El nº de produco es: " + va35);
    sSQL = "SELECT Id, Cultivo, Posol, Dosis1, Dosis2, Plazo, A2 FROM producto WHERE NProdFito =  '" + va01+ "' AND Clase = 'I' ORDER BY Cultivo, Posol";
    try {
        Statement st = cn.createStatement();
        ResultSet rs = st.executeQuery(sSQL);
        while(rs.next()){
            registro[0] = rs.getString("Id");
            registro[1] = rs.getString("Cultivo");
            registro[2] = rs.getString("Posol");
            registro[3] = rs.getString("Dosis1");
            registro[4] = rs.getString("Dosis2");
            registro[5] = rs.getString("Plazo");
            registro[6] = rs.getString("A2");
            modelo.addRow(registro);
        }
        //Se agregan los datos a la tabla
        tblConsulta.setModel(modelo);
        rs.close();
    }
    catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, ex);
    }
}

Hasta aquí todo correcto.

Si vuelvo a pulsar el botón buscar hago tra selección del Id pero no me muestra la nueva JTable.

No sé que falta en el método para indicar que se borren los datos anteriores.

¿ Me podeis indicar que falta en el método o como poderlo solucionar ?

Gracias anticipadas y saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

REPITE DATOS DE UN JTABLE

Publicado por antonio peris (9 intervenciones) el 21/05/2018 23:25:29
Siguiendo pensando he puesto un botón de cancelar al que llama al metodo:

1
2
3
4
5
6
7
8
9
10
11
public void eliminartabla(JTable tabla){
    try {
        DefaultTableModel modelo=(DefaultTableModel) tabla.getModel();
        int filas=tabla.getRowCount();
        for (int i = 0;filas>i; i++) {
            modelo.removeRow(0);
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Error al limpiar la tabla.");
    }
}

Si borra los datos de la tabla, pero cuando vuelvo a pulsar el botón de Buscar, realiza la busqueda y no carga la JTable.

Está casi pero no llego, jejeje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha aumentado su posición en 3 puestos en Netbeans (en relación al último mes)
Gráfica de Netbeans

REPITE DATOS DE UN JTABLE

Publicado por Yamil Bracho (6 intervenciones) el 22/05/2018 00:23:23
Para limpiarla tabla haces

1
2
3
DefaultTableModel dm = (DefaultTableModel)tabla.getModel();
dm.getDataVector().removeAllElements();
dm.fireTableDataChanged();

En el caso de busqueda haces
1
tabla.getModel().fireTableDataChanged()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

REPITE DATOS DE UN JTABLE

Publicado por antonio peris (9 intervenciones) el 22/05/2018 22:22:33
Hola compañero

Con el sistema que me indicas para limpiar, obtengo lo mismo que con mi sistema. Veo que los dos son efetivos.

Pero persiste el problema.

Se borran los datos de la tabla y al lanzar una nueva busqueda y posterior selección, no carga la tabla con el nuevo dato.

No sé si es que falta algo más.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar