Foros del Web » Programación para mayores de 30 ;) » Programación móvil »

Agregar (y eliminar) filas en tiempo de ejecución con tableItem - Netbeans

Estas en el tema de Agregar (y eliminar) filas en tiempo de ejecución con tableItem - Netbeans en el foro de Programación móvil en Foros del Web. Estoy haciendo mi primer Midlet y necesito de su inestimable ayuda. Lo que me preocupa ahora es poder agregar (y eliminar) filas en tiempo de ...
  #1 (permalink)  
Antiguo 05/04/2012, 07:28
 
Fecha de Ingreso: septiembre-2003
Ubicación: cerrillos, salta, argentina
Mensajes: 11
Antigüedad: 20 años, 7 meses
Puntos: 0
Agregar (y eliminar) filas en tiempo de ejecución con tableItem - Netbeans

Estoy haciendo mi primer Midlet y necesito de su inestimable ayuda. Lo que me preocupa ahora es poder agregar (y eliminar) filas en tiempo de ejecución a una TableItem, esto está en Netbeans 7.1, he encontrado ejemplos de como crear la tabla, poner y sacar datos de las celdas, obtener la fila seleccionada, etc.; pero no he podido dar en la tecla para agregar (y eliminar) filas en tiempo de ejecución de la misma.
Bueno, espero haber sido claro.

Saludos, Santiago.
  #2 (permalink)  
Antiguo 06/04/2012, 14:21
 
Fecha de Ingreso: septiembre-2003
Ubicación: cerrillos, salta, argentina
Mensajes: 11
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Agregar (y eliminar) filas en tiempo de ejecución con tableItem - Netbeans

La verdad que esto de aprender un nuevo lenguaje lleva mucho tiempo, y mas cuando mi cliente está medio apurado...
Bueno, después de trabajar toda la mañana y parte de la tarde logré agregar una fila (al final) de la grilla TableItem.
Les dejo el código para que lo analicen y de paso lo mejoran, es la primera versión que saco de la clase que hace eso; estoy en la tarea de realizar la eliminación de una fila de la grilla.

Saludos.

[java]
package ExtensionTableModel;

import org.netbeans.microedition.lcdui.*;
import java.lang.IllegalArgumentException;
/**
* Permite agregar y eliminiar filas de una TableItem (TableModel)
*
* @author santiago
*/
public class ExtensionTableModel {

/**
* Agrega una fila AL FINAL de la grilla.
* Se debe pasar a este método el tableModel de la TableItem que queremos hacer.
* @param tableModel del tipo SimpleTableModel.
* @param nueva_fila fila que se agrega.
*/
public void addRowTableItem(SimpleTableModel tableModel,
String[] nueva_fila) throws IllegalArgumentException
{
Object valor;
int fila = tableModel.getRowCount();
int columna = tableModel.getColumnCount();
//Cantidad de columnas que vienen en la nueva_fila
int columnas_nueva_fila = nueva_fila.length;
if (columnas_nueva_fila <= columna)
{
String[][] aux = new String[fila + 1][columna];
String[] aux_nueva_fila = new String[columna];
//Llenamos la matriz auxiliar con los valores de la TableModel original.
for (int ix = 0; ix < fila; ix++)
{
for (int jx = 0; jx < columna; jx++)
{
valor = tableModel.getValue(jx, ix);
aux[ix][jx] = valor.toString();
}
}
//Lleno la última fila a mano
aux[fila] = nueva_fila;
tableModel.setValues(aux);
}
else
{
throw new IllegalArgumentException("Nueva fila tiene mas columnas que lo requerido");
}
//System.out.println("Agregar nueva fila");
}
}
[/java]
  #3 (permalink)  
Antiguo 06/04/2012, 14:24
 
Fecha de Ingreso: septiembre-2003
Ubicación: cerrillos, salta, argentina
Mensajes: 11
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Agregar (y eliminar) filas en tiempo de ejecución con tableItem - Netbeans

Una forma de llamar a la clase anterior sería de la siguiente manera, con esto le agregamos una fila al final y listo... Que alguien me diga si funciona bien; en mi emulador la cosa va bien. Ya me voy a poner en la tarea de pasarlo al teléfono. Luego les digo.

Saludos.



/*Implementamos el método abstracto de la Interface ItemCommandListener, encargada de
gestionar los "eventos" de los ítem's
*/
public void commandAction (Command c, Item i)
{
if (c == nueva_fila)
{
//Este es mi array para agregar como nueva fila.
String[] aux = {"W", "X", "Y", "Z"};
//Instancio la clase que hace el trabajo...
ExtensionTableModel ext = new ExtensionTableModel();

ext.addRowTableItem(grilla, aux);

System.out.println("Se agregó una nueva fila exitosamente.");
}
}

Etiquetas: filas, netbeans
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:47.