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

Eliminar objeto de un BindingList

Estas en el tema de Eliminar objeto de un BindingList en el foro de .NET en Foros del Web. Buenas, Esta es la situación: tengo un DataGridView que tiene como DataSource un BindingList con una clase personalizada que yo hice. Esto se muestra perfecto. ...
  #1 (permalink)  
Antiguo 14/01/2008, 11:26
Avatar de matiassaitam  
Fecha de Ingreso: diciembre-2007
Mensajes: 12
Antigüedad: 16 años, 5 meses
Puntos: 0
Pregunta Eliminar objeto de un BindingList

Buenas,

Esta es la situación: tengo un DataGridView que tiene como DataSource un BindingList con una clase personalizada que yo hice.
Esto se muestra perfecto.

Lo que quiero hacer ahora es colocar un botón "eliminar" que borre de la colección el objeto correspondiente a la fila eliminada, y que cuando eso suceda, se dispare un evento que replique el cambio a una base de datos. O sea, cuando se borra de la colección en memoria, también debe borrarse de la base de datos.

Este es el código que tengo:

Botón Eliminar
Código:
private void btEliminar_Click(object sender, EventArgs e)
{
  dgvRef.Rows.Remove(dgvRef.SelectedRows[0]);
}
Método carga datos
Código:
private void cargaDatos()
{
  listadoRef = AccesoDatos.listadoRef();
  dgvRef.DataSource = listadoRef;
}
listadoRef es un BindingList<ClasePersonalizada>
dgvRef es un DataGridView

Hasta aqui todo funciona bien, si presiono el botón eliminar, efectivamente desaparece del BindingList el objeto seleccionado.

Ahora, cuando suscribo al evento del BindingList, no encuentro de donde sacar el contenido que tenía el objeto borrado...
El sender solo tiene los elementos de la lista actuales, o sea, los que quedaron ...

Código:
void listadoEmpleados_ListChanged(object sender, ListChangedEventArgs e)
{
  if (e.ListChangedType == ListChangedType.ItemDeleted)
    {
      AccesoDatos.eliminarRef(codRef);
    }
}
¿Alguna idea? ¿Se entendió bien?

Saludos y muchas gracias por su tiempo.
  #2 (permalink)  
Antiguo 14/01/2008, 12:24
 
Fecha de Ingreso: julio-2005
Ubicación: Córdoba
Mensajes: 254
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: Eliminar objeto de un BindingList

Para mi una solucion, sería salvar en una variable declarada global el contenido del row seleccionado cuando presionas el boton, en el evento click.

dgvRef.SelectedRows[0] " . text" ( no se como sería exactamente), pero la idea es salvar ese dato antes de ser borrado en una variable global, para que puedas usarle luego desde el otro metodo, luego la consulta sería delete mirow from mitable where dato=mivariableglobal...

Espero te ayude.
__________________
Facil ! Lo unico que hay que hacer para no ser animal, es razonar !
  #3 (permalink)  
Antiguo 14/01/2008, 12:27
Avatar de matiassaitam  
Fecha de Ingreso: diciembre-2007
Mensajes: 12
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Eliminar objeto de un BindingList

No entiendo a qué te refieres ...
Si estás hablando del código del evento "click" del botón está posteado, es el primero.

Saludos.
  #4 (permalink)  
Antiguo 14/01/2008, 20:02
Avatar de matiassaitam  
Fecha de Ingreso: diciembre-2007
Mensajes: 12
Antigüedad: 16 años, 5 meses
Puntos: 0
Exclamación Re: Eliminar objeto de un BindingList

Cita:
Iniciado por juanpablomonte Ver Mensaje
Para mi una solucion, sería salvar en una variable declarada global el contenido del row seleccionado cuando presionas el boton, en el evento click.

dgvRef.SelectedRows[0] " . text" ( no se como sería exactamente), pero la idea es salvar ese dato antes de ser borrado en una variable global, para que puedas usarle luego desde el otro metodo, luego la consulta sería delete mirow from mitable where dato=mivariableglobal...

Espero te ayude.
Voy a empezar a citar, porque eso que me cambian el mensaje y no me doy cuenta ...

Efectivamente lo que hice es muy similar a lo que mencionas, salvo por el hecho que obtengo el valor que necesito de la siguiente forma:
Código:
dgvRef.SelectedRows[0].Cells[0].Value.ToString()
De cualquier forma, esta solución ya la tenía... buscaba algo más "correcto", claro que como no lo había aclarado está bien que lo pongas.

Por mi parte, estuve buscando un poco más y encontré que se trata de un bug reportado: no hay forma de obtener el elemento eliminado, una vez que se disparo el evento.

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=148506

De cualquier forma, muchas gracias por responder.
Saludos.

PD: disculpen que no ponga la url como enlace, pero no me lo permite el foro por mi antigüedad
  #5 (permalink)  
Antiguo 15/01/2008, 05:30
 
Fecha de Ingreso: julio-2005
Ubicación: Córdoba
Mensajes: 254
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: Eliminar objeto de un BindingList

ok ojalá que tengas mucha suerte en tu proyecto. Saludos !!!
__________________
Facil ! Lo unico que hay que hacer para no ser animal, es razonar !
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 12:49.