Java - AYUDA POR FAVOR CON MI JTABLE

 
Vista:

AYUDA POR FAVOR CON MI JTABLE

Publicado por Hugo (1 intervención) el 27/08/2019 17:52:00
BUEN DIA TENGO UN PROBLEMA Y NO SE COMO RESOLVERLO, CREE UN METODO LLAMADO AGREGAR PRODUCTO, EN MI JTABLE CADA QUE INGRESO EL MISMO PRODUCTO ME LO SUSTITUYE Y ANEXA NUEVA CANTIDAD, EL DETALLE VIENE CUANDO CAMBIO DE PRODUCTO Y QUIERO METER UN PRODUCTO YA EXISTENTE EN MI TABLA, NO ME LO SUMA , ME LO PONE EN OTRA FILA... ANEXO MI CODIGO AYUDA POR FAVOR


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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
void agregarProducto() {
    double total;
    modelo = (DefaultTableModel) TablaDetalle.getModel();
    idp = p.getId();
    String nomp = txtProducto.getText();
    pre = Double.parseDouble(txtPrecio.getText());
    int stock = Integer.parseInt(txtStock.getText());
    ArrayList lista = new ArrayList();
    int i;
    int j;
 
    if (stock > 0) {
        if (nomp.equals(valida)){
            lista.add(item);
            lista.add(idp);
            lista.add(nomp);
            cant=cant +1;
            lista.add(cant);
            lista.add(pre);
            total = cant * pre;
            lista.add(total);
            Object[] ob = new Object[6];
            ob[0] = lista.get(0);
            ob[1] = lista.get(1);
            ob[2] = lista.get(2);
            ob[3] = lista.get(3);
            ob[4] = lista.get(4);
            ob[5] = lista.get(5);
            TablaDetalle.setModel(modelo);
            modelo.removeRow(modelo.getRowCount()-1);
            modelo.addRow(ob);
            calculatTotal();
            valida=nomp;
        }
        else{
            cant =1 ;
            lista.add(item);
            item = item + 1;
            lista.add(idp);
            lista.add(nomp);
            lista.add(cant);
            lista.add(pre);
            total = cant * pre;
            lista.add(total);
            Object[] ob = new Object[6];
            ob[0] = lista.get(0);
            ob[1] = lista.get(1);
            ob[2] = lista.get(2);
            ob[3] = lista.get(3);
            ob[4] = lista.get(4);
            ob[5] = lista.get(5);
            modelo.addRow(ob);
            TablaDetalle.setModel(modelo);
            calculatTotal();
            valida=nomp;
        }
    } else {
        JOptionPane.showMessageDialog(this, "Stock Articulo no Disponible");
    }
 
    for ( i = 0; i < modelo.getColumnCount(); i++) {
       for ( j = 0; j < modelo.getRowCount(); j++){
        if(modelo.getValueAt(i, j).toString().equals(valida)){
    System.out.print(modelo.getValueAt(i, j)+"-");
            modelo.removeRow(j);
            }
 
        }
    }
 
}
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: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

AYUDA POR FAVOR CON MI JTABLE

Publicado por Yamil (2315 intervenciones) el 27/08/2019 18:25:49
Ubicas la fila donde esta el Id. Si la encuentras incrementas el stock, sino la agregas. Puede susar un metodo como :

1
2
3
4
5
6
7
8
9
10
11
12
13
int IndexOfJT(JTable table, int id) {
   int rowIndex = -1;
   int IdCol = 1;
 
   for (int row = 0; row <= table.getRowCount() - 1; row++) {
       if (id == (int) table.getValueAt(row, IdCol)) {
	      rowIndex = row;
		  break;
	   }
	}
 
    return rowIndex	;
}
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