Por que se duplican las filas al agregarlas a un DataGrid

04/03/2009 - 02:41 por Sebastian I | Informe spam
hola ..


Tengo un problema con un datagrid en windows, al insertar filas nuevas
(por programacion) desde otro formulario usando ya sea el Add o el InsertAt
Me agrega la fila que quiero pero duplicada y el insert me agrega una
fila en blanco ademas de al duplicada.

Luego si intento Borrar la ultima fila me borra las dos!!

Hay que establecer alguna propiedad o algo que me este faltando para qeu
no pase eso?

Lo que estoy haciendo es el formulario tipico de facturacion, elijo
productos e una lista y los meto en una grilla (insertar, Eliminar,
modificar) funcionan todos poro cuando quiero agregar una fila me la duplica

lo que hago es

DataGridView.Rows.Add(miNuevaRow);

o si no

DataGridView.Rows.InsertAt(idxFila, miNuevaRow);

Gracias

Saludos
Sebastian

Preguntas similare

Leer las respuestas

#1 kAÇTHµS
05/03/2009 - 15:37 | Informe spam
Salu2!!

A ver prueba con esto:

dgvArticulos.Rows.Add(1); // Agrega un nueva fila vacia
int ultimo = dgvArticulos.Rows.Count - 1; // Cuenta las columnas
// Haciendo uso del foreach asignaremos valores a cada columna por
fila
foreach (DataGridViewRow fila in dgvArticulos.Rows)
{
if (fila.Index == ultimo) // Si es la ultima fila, Agregamos datos
{
fila.Cells[0].Value = codpro; // primera columna recibe el
valor del codigo del producto
fila.Cells[1].Value = descrip; // segunda col recibe el valor
de la descripcion
...
}
}


kAÇTHµS
Respuesta Responder a este mensaje
#2 kAÇTHµS
05/03/2009 - 15:42 | Informe spam
Correccion en el comentario:

Dice:
int ultimo = dgvArticulos.Rows.Count - 1; // Cuenta las columnas

Deberia decir:
int ultimo = dgvArticulos.Rows.Count - 1; // Cuenta las filas
Respuesta Responder a este mensaje
#3 Sebastian I
06/03/2009 - 01:06 | Informe spam
Si eso es lo que estoy haciendo actualmente, Cargo los datos de esa
manera en la fila (osea modifico los valores de la fila) en la que este
parado el usuario, y cuando es la fila nueva; hasta que el usuario no
aprieta una tecla no se genera la fila en blanco que pasaría a ser la
nueva fila nueva :)

LA unica forma de evitar eso es usando el Insert o el Add, pero con la
consecuencia de que inserta dos filas extras, una con los datos
repetidos de mi insert y la otra en blanco.

Rows.Add(1) con o sin parámetros me mete 2 filas vacias .. ¡?¡?¡?

Capas que es algún problema del VS 2008, pero me tiene trancado hace
dias... :|

Gracias por tu respuesta..


kAÇTHµS escribió:
Salu2!!

A ver prueba con esto:

dgvArticulos.Rows.Add(1); // Agrega un nueva fila vacia
int ultimo = dgvArticulos.Rows.Count - 1; // Cuenta las columnas
// Haciendo uso del foreach asignaremos valores a cada columna por
fila
foreach (DataGridViewRow fila in dgvArticulos.Rows)
{
if (fila.Index == ultimo) // Si es la ultima fila, Agregamos datos
{
fila.Cells[0].Value = codpro; // primera columna recibe el
valor del codigo del producto
fila.Cells[1].Value = descrip; // segunda col recibe el valor
de la descripcion
...
}
}


kAÇTHµS
Respuesta Responder a este mensaje
#4 Sebastian I
06/03/2009 - 22:43 | Informe spam
Igualmente hoy hice la misma prueva en una maquina en el laburo y anduvo
perfecto.. el mismo codigo.. Asi que debo tener algo mal en el framework
de mi maquina en casa por que otra cosa no se me ocurre.

SAludos y Gracaias Nuevamente...


kAÇTHµS escribió:
Salu2!!

A ver prueba con esto:

dgvArticulos.Rows.Add(1); // Agrega un nueva fila vacia
int ultimo = dgvArticulos.Rows.Count - 1; // Cuenta las columnas
// Haciendo uso del foreach asignaremos valores a cada columna por
fila
foreach (DataGridViewRow fila in dgvArticulos.Rows)
{
if (fila.Index == ultimo) // Si es la ultima fila, Agregamos datos
{
fila.Cells[0].Value = codpro; // primera columna recibe el
valor del codigo del producto
fila.Cells[1].Value = descrip; // segunda col recibe el valor
de la descripcion
...
}
}


kAÇTHµS
Respuesta Responder a este mensaje
#5 kAÇTHµS
07/03/2009 - 12:21 | Informe spam
Salu2!!!

A tener en cuenta en tu DataGridView:

* Debe estar desmarcado el check de --> Habilitar accion de agregar

Verifica esto en casa...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida