2009-10-03 6 views
1

J'ai une BindingList qui est la source de données pour une source Bindingsource, qui à son tour est une source de données pour un DataGridView.Nettoyage de DataGridView C#

(Les objets sont purement gérés, et n'ont pas tout ce qui nécessite l'appel .Dispose().)

Quand je veux effacer la liste, et donc effacer la grille, je fais appel simplement BindingSource.Clear(), qui dans la mesure où je peux dire efface la BindingList sous-jacente contenant mes objets, et parce qu'elle est liée à des données à la grille, les lignes dans la grille disparaissent. Dois-je faire quoi que ce soit d'autre sur la grille (ou quoi que ce soit d'autre), pour m'assurer que toutes les données ont été nettoyées?

Merci.

Répondre

1

Non, vous n'avez pas besoin. Assurez-vous simplement d'effacer la source de liaison. Dès que toutes les références à la Liste seront hors de portée, elles seront collectées lors du prochain cycle de collecte.

1

Réponse simple: pas

Cependant, si quelque chose d'autre tient des références aux objets du BindingList alors le GC ne les recueillir.