Cómo agrego una fila a una tabla

27 views
Skip to first unread message

marthica

unread,
Apr 13, 2009, 10:09:12 PM4/13/09
to javamaniaco
Hola a todos

Tengo una tabla donde hago una bùsqueda de productos, que empiezen por
ejemplo con "c", me muestra 4 productos, pero en realidad son 5.

El problema es que la tabla tiene en sus propiedades rowCount=4,
entonces, como los productos son 5, me sale un error cuando lo
ejecuto.

Yo puedo ampliar la propiedad a 10, ò 15, ò 20, pero si tengo muchos
productos (màs de 20, por ejemplo) el error vuelve a salir.

Necesito adicionar filas en tiempo de ejecuciòn, pero no encuentro una
orden (algo asì como addRow), entonces ni idea.

Si alguien me puede ayudar, de antemano muchas gracias.

Estoy haciendo un programa de escritorio con Netbeans 6.5.

Un abrazo,


Martha Cecilia

IP zer0

unread,
Apr 13, 2009, 10:37:53 PM4/13/09
to javam...@googlegroups.com
Bueno lo normal es que aun jTable le asignes un modelo (DefaultTableModel) y sobre este hagas todas las operaciones que desees, incluso añadir filas con el metodo addRow al cual le pasas un Vector un Object[], todo en tiempo de ejecucion.


2009/4/13 marthica <marthi...@gmail.com>



--
Joseph Cesar Mena S. a.k.a. IP-zer0
+51 (1) 991526548
L1nuX R3g1$t3r3d U53r #412302
    .~.      
  ( 0 0 )
  /  V  \
 //       \\  
/((   _    ))\

 |\__
(:>__)(
 |/

marthica

unread,
Apr 13, 2009, 10:47:52 PM4/13/09
to javamaniaco
Hola IP zer0

Me encontrè este código en un foro en internet:

DefaultTableModel temp = (DefaultTableModel) busqueda.getModel();
Object nuevo[]= {"",""}; //esto es por las dos columnas aunque puede
variar
temp.addRow(nuevo);

MI tabla se llama busqueda.....pero en la última línea: temp.addRow
(nuevo) me da eror en addRow, no encuentra ese comando.

Entonces ni idea de como usar el DefaultTableModel

Si me puedes ayudar, te lo agradecerìa cantidades.......

Bueno aunque te debo mucho, porque me has ayudado ya bastante.

Un abrazo por eso (bueno, mejor muchos abrazos)


Martha Cecilia

On 13 abr, 21:37, IP zer0 <ip.z...@gmail.com> wrote:
> Bueno lo normal es que aun jTable le asignes un modelo (DefaultTableModel) y
> sobre este hagas todas las operaciones que desees, incluso añadir filas con
> el metodo addRow al cual le pasas un Vector un Object[], todo en tiempo de
> ejecucion.
>
> 2009/4/13 marthica <marthica....@gmail.com>
>  |/- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Marvin Valenzuela

unread,
Apr 13, 2009, 11:05:47 PM4/13/09
to javam...@googlegroups.com
Mira este codigo lo tenia para la creacion de una hoja electronica talvez te pueda servir, se maneja con un jTable y podes agregar filas y columnas, claro usando el DefaulTable..

Aqui lo que pasa es que vamos creando paso a paso, nuestros elementos, aqui creamos el DefaultTable, el Jtable y este a la vez, lo metemos en un scroll para que de  esta manera, al crecar tu Jtable se mire presentable... y finalmente el scrool lo metemos en un Jpanel... y luego hacemos el ingreso de columnas y filas.... Este codigo me funciono bastante

 DefaultTableModel tablamodel = new DefaultTableModel(); // controlador de la tabla
           JTable hoja = new JTable(); // la hoja electronica en si
         // hoja.putClientProperty("terminateEditOnFocusLost", true);
           hoja.setAutoResizeMode( JTable.AUTO_RESIZE_OFF); // propiedad de la hoja
           hoja.setModel(tablamodel); // agregacion
           hoja.setPreferredScrollableViewportSize(new Dimension(950,530));//propiedades
           JScrollPane scroll = new            JScrollPane(hoja,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
           JPanel contenedor = new JPanel(); // un panel que contendra a la tabla
           contenedor.add(scroll,BorderLayout.CENTER);

           // ingreso de las columnas y filas a la tabla
            for (int i = 1; i<=13; i++){
                tablamodel.addColumn(this.NombredeColumna(tablamodel));
            
            }
           for (int i = 1; i<=35; i++){

                tablamodel.addRow(new Object[]{});
            }

// Opcionamente este contenedor (Jpanel) lo puedes posicionar sobre un JTabbedPane por si necesitas, muchos jTable, asi te quedara mas ordenado...
de la siguiente forma
JTabbedPane pane = new JTabbedPane();
pane.addTab("nombre", null,contenedor , "Hoja electronica");

Ojala te sirva...

Marvin Valenzuela
Universidad de San Carlos
Ingenieria en Sistemas
Guatemala


Marvin Valenzuela

unread,
Apr 13, 2009, 11:08:00 PM4/13/09
to javam...@googlegroups.com
for (int i = 1; i<=13; i++){
                tablamodel.addColumn(this.NombredeColumna(tablamodel));
            
            }

 aqui en esta parte (this.NombredeColumna(tablamodel)):
era un metodo para nombrar la columna, pero sencillamente el parametro es una cadena de caracteres

marthica

unread,
Apr 13, 2009, 11:23:36 PM4/13/09
to javamaniaco
Hola Marvin

Muchas gracias por tu respuesta

Martha Cecilia

On 13 abr, 22:08, Marvin Valenzuela <marvinvalenzu...@gmail.com>
wrote:
> > Guatemala- Ocultar texto de la cita -
Reply all
Reply to author
Forward
0 new messages