Manière correcte pour séparer un BindingSource à partir d'un DataGridView
J'ai une BindingList<> des objets, de définir la source de données d'une BindingSource.
Il est réglé à la source de données d'un DataGridView.
Je suis préoccupé par ne pas causer d'éventuelles fuites de mémoire, donc, vous demandez-vous si il existe un moyen privilégié pour séparer ces connexions quand j'en aurai terminé avec les données.
Je suis en train de penser:
datagridview.DataSource = null;
bindingsource.DataSource = null;
bindingsource.Clear();
De re-lier:
bindingsource.DataSource = bindinglist<myObjects>;
datagridview.DataSource = bindingsource;
Est cet ordre correct, ou est-il vraiment important? Ai-je omis quelque chose qui devrait être là?
Tous les pointeurs apprécié, merci.
OriginalL'auteur Andy | 2009-10-10
Vous devez vous connecter pour publier un commentaire.
Affectation de la valeur null, le datagridview source de données est la meilleure façon d'effacer la source de données de la grille, vous avez raison.
OriginalL'auteur Wael Dalloul
Si vous utilisez des colonnes personnalisées, de définir AutoGenerateColumns à faux avant de compensation de la source de données.
Cela permettra d'assurer votre colonnes personnalisées sont conservés. Sinon, ils seront effacés et auto généré à la prochaine DataBind.
Edit: Pas sûr que les raisons de cette baisse de voter. C'est la bonne solution pour les non auto généré des colonnes. J'ai le projet de le prouver. J'espère que quelqu'un le trouve utile.
OriginalL'auteur Tomas Beblar