Foros del Web » Programación para mayores de 30 ;) » .NET »

BindingSource .AddNew()

Estas en el tema de BindingSource .AddNew() en el foro de .NET en Foros del Web. Buenas, Tengo el siguiente problema, estoy intentando duplicar una fila de un dataset asociado a un binding, pero no sé porque razón se me modifica ...
  #1 (permalink)  
Antiguo 30/07/2008, 01:06
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 16 años, 5 meses
Puntos: 1
BindingSource .AddNew()

Buenas,
Tengo el siguiente problema, estoy intentando duplicar una fila de un dataset asociado a un binding, pero no sé porque razón se me modifica también la fila original.

Si en un principio en mi dataset por ejemplo tengo 2 columnas y una fila con los datos: 1 | texto (cada dato en una columna), siendo la primera columna la clave de mi tabla de BD.

Mi código:
Código:
DataRowView oFilaNueva = (DataRowView) bmb.AddNew();                   
//cogemos la fila de la que queremos copiar los valores
DataRow oFila = dsPantalla.Tables[tablaPantalla].Rows[filaActualPantalla];
//traspasar los valores de la fila actual a la nueva 
oFilaNueva.BeginEdit();
oFilaNueva.Row.ItemArray = oFila.ItemArray;
//terminamos la edicion
oFilaNueva.EndEdit();
Al ejecutar el código anterior, en mi dataset deberian haber dos filas iguales "1 | texto", pero en vez de tener esto tengo dos filas iguales pero asi: "2 | texto".
Esto supone que la primera fila cambia de estado a estado Modified y cuando más adelante vaya ha hacer miDataAdapter.Update me de excepcion porque en la colección datarow de mi dataset hay filas con estado Modified.

Por que ocurre esto??
  #2 (permalink)  
Antiguo 30/07/2008, 01:07
 
Fecha de Ingreso: junio-2008
Mensajes: 93
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: BindingSource .AddNew()

Se me ha olvidado comentar que el objeto bmb que utilizo en la primera línea de código es mi objeto BindingSource.
Muchas gracias.
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 13:54.