Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.643 Beiträge
 
#1

CollectionBase als Datasource: Löschereignis abfangen?

  Alt 15. Sep 2006, 07:59
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?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat