Manière correcte de dissocier une BindingSource d’un DataGridView

J’ai une BindingList d’objets, définie sur la source de données d’un BindingSource. Ceci est défini sur la source de données d’un DataGridView.

Je crains de ne causer aucune fuite de mémoire potentielle. Je me demande donc s’il existe un moyen privilégié de dissocier ces connexions lorsque les données sont terminées.

Je pense à:

datagridview.DataSource = null; bindingsource.DataSource = null; bindingsource.Clear(); 

Pour relier:

 bindingsource.DataSource = bindinglist; datagridview.DataSource = bindingsource; 

Cet ordre est-il correct ou est-ce vraiment important? Ai-je oublié quelque chose qui devrait être là?

Tous les pointeurs appréciés, merci.

Assigner la valeur null à la source de données datagridview est le meilleur moyen d’effacer la source de données de la grid. Vous avez raison.

Si vous utilisez des colonnes personnalisées, définissez AutoGenerateColumns sur false avant d’effacer le DataSource. Cela garantira que vos colonnes personnalisées sont préservées. Sinon, ils seront effacés et générés automatiquement sur le prochain DataBind.

 datagridview.AutoGenerateColumns = false; datagridview.DataSource = null; 

Edit: Vous ne savez pas pourquoi cela a été voté à la baisse. C’est la solution correcte pour les colonnes non générées automatiquement. J’ai le projet pour le prouver. J’espère que quelqu’un le trouvera utile.