Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/04/2012, 14:21
santiago14
 
Fecha de Ingreso: septiembre-2003
Ubicación: cerrillos, salta, argentina
Mensajes: 11
Antigüedad: 21 años, 3 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]