Folgendes Konstrukt:
Code:
class PermissionList : System.Collections.CollectionBase
{
protected List<object> _deleteditems = null;
public List<AMEF3BaseItem> DeletedItems
{
get
{
if (_deleteditems == null)
{
_deleteditems = new List<object>();
}
return _deleteditems;
}
set { _deleteditems = value; }
}
public virtual void Remove(object value)
{
// add object in List of deleted items prior to remove
DeletedItems.Add(value);
List.Remove(value);
}
}
PermissionList permissions = null;
BindingSource src = null;
public frmPermissions()
{
InitializeComponent();
grdPermissions.AutoGenerateColumns = false;
permissions = new PermissionList();
// hier wird die liste mit daten gefüllt
permissions.Init();
src = new BindingSource();
src.DataSource = permissions;
grdPermissions.DataSource = src;
}
Das ganze funktioniert insofern nicht, als dass wenn ich einen Datensatz in der Grid lösche (Zeile markieren, entf drücken) er nicht in die Remove-Methode reinläuft. Bei näherer Betrachtung auch logisch, weils die auf der Basisklasse so gar nicht gibt.
Ich finde aber leider auch kein Event das beim Remove ausgelöst würde. Wie kann ich mich also am geschicktesten da reinhängen?