Java - Error al pasar datos de una Jtable a otra

 
Vista:
sin imagen de perfil
Val: 16
Ha disminuido su posición en 8 puestos en Java (en relación al último mes)
Gráfica de Java

Error al pasar datos de una Jtable a otra

Publicado por Jose (10 intervenciones) el 20/12/2019 22:18:54
Hola a todos, estoy realizando un programa en el cual tengo dos jtable. La primera llamada "resultado_busqueda" la tengo cargada de datos y la segunda llamada "datos" está en blanco. Lo que intento hacer es que al hacer clic con el ratón en una fila de la primera tabla pase los datos a la segunda, si vuelvo a hacer clic en otra fila de la primera tabla, los datos deberá de ponerlos en una segunda fila y así sucesivamente. Además deberá de ir numerando la primera columna de la segunda tabla.

El error que me sale es que al hacer clic con el ratón la primera vez los datos me los pasa correctamente, pero al hacer clic por segunda o más veces pone la primera fila de la segunda tabla en blanco y agrega una segunda fila con los datos correctos.

No sé el porque borra los datos de la primera fila.

Os agradecería mucho que me ayudaseis.

Os adjunto el código que estoy utilizando

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
private void prueba(){
    int fila=resultado_busqueda.getSelectedRow();
    String[] registros = new String[5];
    String[] titulos = {"Id", "Referencia", "Descripción", "Precio Base", "Precio IVA incluido"};
    final DefaultTableModel model1=new DefaultTableModel(titulos, resultado_busqueda.getSelectedRow());
 
    if(datos.getRowCount()==0){
        registros[0] = "1";
 
    }else{
        registros[0]=Integer.toString(datos.getRowCount()+1);
 
    }
        registros[1] = resultado_busqueda.getValueAt(fila, 1).toString();
        registros[2] = resultado_busqueda.getValueAt(fila, 2).toString();
        registros[3] = resultado_busqueda.getValueAt(fila, 3).toString();
        registros[4] = resultado_busqueda.getValueAt(fila, 4).toString();
        System.out.println(registros[0] + " " +
                registros[1] + " " +
                registros[2] + " " +
                registros[3] + " " +
                registros[4]);
 
    model1.addRow(registros);
    datos.setModel(model1);
}
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
sin imagen de perfil
Val: 147
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Error al pasar datos de una Jtable a otra

Publicado por Yamil Bracho (2302 intervenciones) el 20/12/2019 22:56:59
No lo he probado pero creo que puede ser :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void prueba(){
	int selectedRow = resultado_busqueda.getSelectedRow();
 
	String[] rowData = new String[5];
	rowData[0] = Integer.toString(selectedRow + 1);
	rowData[1] = resultado_busqueda.getValueAt(selectedRow, 0).toString();
	rowData[2] = resultado_busqueda.getValueAt(selectedRow, 1).toString();
	rowData[3] = resultado_busqueda.getValueAt(selectedRow, 2).toString();
	rowData[4] = resultado_busqueda.getValueAt(selectedRow, 3).toString();
 
	System.out.println(rowData[0] + " " +
					   rowData[1] + " " +
					   rowData[2] + " " +
					   rowData[3] + " " +
					   rowData[4]);
 
    DefaultTableModel tbm = (DefaultTableModel) datos.getModel();
    tbm.addRow(rowData);
}
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: 16
Ha disminuido su posición en 8 puestos en Java (en relación al último mes)
Gráfica de Java

Error al pasar datos de una Jtable a otra

Publicado por Jose (10 intervenciones) el 21/12/2019 11:00:17
Gracias por la respuesta.
He probado los cambios y ahora no pasa ningún dato a la tabla "datos".
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
Imágen de perfil de Franklin
Val: 489
Bronce
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Error al pasar datos de una Jtable a otra

Publicado por Franklin (137 intervenciones) el 23/12/2019 13:54:07
Hmmm yo mas o menos lo haría de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
int selectedRow = resultado_busqueda.getSelectedRow();
DefaultTableModel tbm = (DefaultTableModel) datos.getModel();
 
String[] rowData = new String[5];
	rowData[0] = Integer.toString(selectedRow + 1);
	rowData[1] = resultado_busqueda.getValueAt(selectedRow, 0).toString();
	rowData[2] = resultado_busqueda.getValueAt(selectedRow, 1).toString();
	rowData[3] = resultado_busqueda.getValueAt(selectedRow, 2).toString();
	rowData[4] = resultado_busqueda.getValueAt(selectedRow, 3).toString();
 
tbm .addRow(new Object[] {rowData});
// En caso de no funcionar, le daría los valores por separado
tbm.addRow(new Object[] {rowData[0],rowData[1],rowData[2],rowData[3],rowData[4]});//segunda opc
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: 16
Ha disminuido su posición en 8 puestos en Java (en relación al último mes)
Gráfica de Java

Error al pasar datos de una Jtable a otra

Publicado por Jose (10 intervenciones) el 23/12/2019 22:00:34
Gracias por la respuesta, al final he solucionado el problema
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