He tratado de que funcione pero no me da resultado
el problema me cabe en el for()
mi tabla le ingreso datos
cantidad | nombre | codigo
1 | juan | 1
1 | maria | 2
tengo un textfiel q busca por codigo: si ingreso el 1 nuevamente
deberia sumas 2 la cantidad...
pero mi problema es que no tengo como obtener el id y la ubicacion de la fila
esto es lo que tengo mirar...
Código:
En conclusion mi problema esta en el for()public void agregar_nombre() { try { Object seleccion = JOptionPane.showInputDialog(null, "¿Cantidad de nombres?", "Selecciona la opciones", JOptionPane.QUESTION_MESSAGE, null, null, 1); Alumnos p = db.get_alumnos(txt_codigo.getText()); //aca cargo la tabla cantidad,nombre y codigo Object[] value = {seleccion, p.get_nombre(), p.get_codigo()}; int i;String codigo = null; //si la tabla es vacia hago esto if (db.getDtm.getRowCount() <= 0) { int filas = 0; //consulto si existe el codigo de alumnos if (db.consultar_id(Integer.parseInt( txt_codigo.getText()))) { ar.add(p.get_codigo()); db.getDtm.addRow(value); jtabla.setModel(db.getDtm()); txt_codigo.setText(""); } else { throw new Error(2, "No se encuentra alumnos en los registros", "Registro Alumnos", JOptionPane.ERROR_MESSAGE); } } else { //lo mismo consulto si exite el codifo if (db.consultar_id(Integer.parseInt(txt_codigo.getText()))) { //aca el problema for (i = 0; i < jtabla.getRowCount(); i++) { codigo = String.valueOf(jtabla.getValueAt(i, 2)); if(codigo.equals(txt_codigo.getText())){ int cantidad, valor = 0; cantidad = Integer.parseInt(String.valueOf(jtabla.getValueAt(i, 0))) + Integer.parseInt(String.valueOf(seleccion)); System.out.println("c " + cantidad); valor = valor + cantidad; System.out.println("d " + valor); jtabla.setValueAt(valor, i, 0); }else{ ar.add(p.get_codigo()); db.getDtm().addRow(value); jtabla.setModel(db.getDtm()); txt_codigo.setText(""); } } } else { throw new Error(2, "No se encuentra alumnos en los registros", "Registro Alumnos", JOptionPane.ERROR_MESSAGE); } } } catch (Error e) { JOptionPane.showMessageDialog(null, e.getMessage(), e.getAdvertencia(), e.getError()); } catch (Exception e) { JOptionPane.showMessageDialog(null, e.getMessage()); } }
lo que hago primero veo si la tabla esta vacia, si lo esta agrega
luego como ya tiene dato pasa al segundo if (aca va el problema)
los recorro si bien me dan las filas solo me dan las filas me las sigue dando si incluso la encuentra
eso esta bien pero no cuando agrega mas de una con mismo codigo
lo q pasa en forma grafica es esta
cantidad | nombre | codigo
1 | juan | 1
1 | maria | 2
1 | juan | 1
Esto no kiero q pase
solo kiero q el 1 agrege a la cantidad 1 +1 = 2
espero a verme explicado bien porque de verdad me enrreda
espero su ayuda..