Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - srWhiteSkull

#411
Java / Re: JTable sobre JTable
17 Marzo 2018, 00:56 AM
No hombre yo te decía así :

...
...
   
       nombreTablas.addActionListener(new ActionListener() {
...
...

               JPanel superior=(JPanel) ((JComboBox)e.getSource()).getParent(); // tomamos la referencia del panel (el padre del combobox)
               JTable tabla=new JTable(modelo); // creamos nueva tabla con el modelo de la consulta                
               superior.remove(superior.getComponentCount()-1); // eliminamos la anterior tabla, que fue el ultimo elemento en agregarse                
               superior.add(tabla,BorderLayout.CENTER); // agregamos nuestra recien creada tabla
               tabla.updateUI(); // actualizamos la tabla
...
...                
       });


...
...
       superior.add(nombreTablas);
       add(superior,BorderLayout.NORTH);

       JTable tabla=new JTable(modelo); // definido mas arriba al comienzo del constructor
       tabla.setName("tabla");
       tabla.setPreferredSize(new Dimension(800, 400)); // es bueno definir la dimension de los componentes
       superior.add(tabla,BorderLayout.CENTER);
       nombreTablas.validate();


Otra forma más sencilla implicaría recorrer la tabla celda por celda usando el método setValueAt() de la tabla o modelo. Pero tendrías que tomar la referencia de alguno de los dos, el modelo o la tabla ya creados.

https://docs.oracle.com/javase/tutorial/uiswing/components/table.html
#412
Claro, te entiendo, y encima seguro que tienes los datos separados por espacios. Pues de ser así no hay funciones de C++ que distinga a ese nivel de detalle.

Lo que si puedes hacer es tomar la solución que ofrezco  aquí, y analizar campo o columna por columna comprobando de que si se trata de un dato numérico al comienzo de la línea entonces que lo tome como código, incrementa índice de columna, si la segunda columna es de tipo texto (no es numérico) lo tome como nombre, incrementa índice, y si la siguiente columna es texto también lo concatene al nombre (e incrementa índice de columna) o de lo contrario si es numérico lo tome como cantidad (pasa a la siguiente fila y reinicia el índice de columna). Es facilísimo.

o

  entradaArchivo >> codigo;
   entradaArchivo >> nombre;
   entradaArchivo >> cant;
   // si (cant no es numerico) entonces concatena nombre+cant y hago de nuevo un..
   // ...entradaArchivo >> cant; en caso contrario nada


Suerte

#413
 ;-)
#414
Pues por eso mismo, mientras que uno es un arreglo de caracteres (char* o char[]) el string es un objeto y diseñado para trabajar con cadenas de texto. Muéstrame el código o por lo menos la parte que inicializas el proceso de lectura hasta el final.

Entiendo que intentas leer un fichero de texto plano y no un binario ni nada por el estilo.
#415
Bueno, pues ahora comprueba la sentencia SQL que le estás pasando a la función(mysqli_query o lo que sea). En vez de pasar la sentencia a la función haz un echo $sentencia o como hayas llamado a la variable de la sentencia para ver que le estás enviando al servidor MySQL y luego copiala al portapapeles y pegala en la consola de MySQL. Todo este proceso se llama depurar.
#416
Haz la misma operación desde la consola de MySQL con pura sentencias SQL. Pienso que el problema no lo estás teniendo en PHP sino en las propias sentencias o en los valores que defines para las claves.
#417
Mira el valor de producto_id, depura mete un echo $_POST["producto_id"] o lo que sea para ver que valor le estás pasando. El error te indica que hay un problema con la clave extranjera producto_id de Pedidos. Asegúrate si estás creando o modificando un registro en Pedidos que la clave producto_id tiene o se le pasa un valor numérico entero (y existe como id en la tabla Producto)
#418
PHP / Re: combobox PHP -MYSQL es posible?
15 Marzo 2018, 21:22 PM
Claro, y quizás más fácil que en Java, sin tener que volverte loco con Models y cosas así.

https://www.w3schools.com/php/php_mysql_intro.asp

Realmente lo que tienes que hacer es consultar a la base de datos y esta te devuelve un objeto con los resultados, registro por registro. Y por último coges esos registros y tomando sus valores en un bucle vas creando dinamicamente un select y a cada option le asignas ese registro.

Para ello es necesario que domines bien el tema de crear HTML dinamicamente, tablas y cosas así. Una vez que domines esto y te salga bien tú propósito quizás deberías pasar al siguiente nivel que sería pasar el resultado de la consulta a una variable JS y crear el select o tabla dinamicamente desde JS porque al final, es mejor dejar el trabajo duro al navegador del cliente que procesar todo desde el servidor. Piensa que dos o 20 solicitudes de este tipo al servidor no son nada, pero 1000 o un millón ?...  :-\
#419
Java / Re: JTable sobre JTable
15 Marzo 2018, 21:06 PM
Bueno, pues olvídate del removeAllItems() y te propongo que lo hagas de otra manera.

Primero en el constructor mete la tabla en un panel, por ejemplo al que denominas superior (no lo metas en el ComboBox). Agrégalo al final, después de haber agregado otros componentes como el ComboBox.

Luego, una vez que se produzca la acción, que en tú caso lo has puesto cuando despliegues el ComboBox, podrías tomar la tabla rebuscando en la jerarquía. Por ejemplo, en tú caso el ComboBox es el objeto de la acción e.getSource(), y su padre es el panel, superior, (JPanel)((JComboBox)e.getSource()).getParent(), y a su vez coges el último componente que se añadió al panel que fue la tabla, getComponent(superior.getComponentsCount()-1). Una vez que tienes la tabla simplemente bien podrías modificar celda por celda cogiendo previamente su modelo, tabla.getModel(), o bien podrías no complicarte la vida y eliminas la tabla del panel, y luego la vuelves a añadir (instanciando new JTable(modelo)), y al final invocas el método updateUI() de la tabla. Basicamente es trabajar con las referencias de los objetos.

Eso sería lo sencillo, ahora si quieres complicarte lo ideal es que definieras un modelo personalizado con un método para modificar el contenido del modelo, en el cual tendrías uqe usar bucles y tomar los array.

Suerte
#420
Quizás deberías sopesar el uso de captura de imagen en vez de un lector de codigos ya que existen servicios web que te pueden ayudar a decodificar la imagen o si te la puedes amañanar hacerte uno propio. El precio ademas de una camara web con flash es asequible por no mencionar que podria usarse tranquilamente en dispotivo movil y con cliente hibrido interfaz html bajo app nativa