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:
Método carga datosprivate void btEliminar_Click(object sender, EventArgs e) { dgvRef.Rows.Remove(dgvRef.SelectedRows[0]); }
Código:
listadoRef es un BindingList<ClasePersonalizada>private void cargaDatos() { listadoRef = AccesoDatos.listadoRef(); dgvRef.DataSource = listadoRef; }
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:
¿Alguna idea? ¿Se entendió bien?void listadoEmpleados_ListChanged(object sender, ListChangedEventArgs e) { if (e.ListChangedType == ListChangedType.ItemDeleted) { AccesoDatos.eliminarRef(codRef); } }
Saludos y muchas gracias por su tiempo.