从DataGridView解除绑定BindingSource的正确方法

我有一个BindingList 对象,设置为BindingSource的DataSource。 这被设置为DataGridView的DataSource。

我担心不会导致任何潜在的内存泄漏,所以想知道在我完成数据时是否有一种首选方法可以取消绑定这些连接。

我在考虑:

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

要重新绑定:

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

这个订单是正确的,还是真的重要? 我是否遗漏了应该存在的任何内容?

任何指针都表示赞赏,谢谢。

为datagridview DataSource分配null是清除网格数据源的最佳方法,你是对的。

如果使用自定义列,请在清除DataSource之前将AutoGenerateColumns设置为false。 这将确保您的自定义列被保留。 否则,它们将被清除并在下一个DataBind上自动生成。

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

编辑:不知道为什么这被投票。 这是非自动生成列的正确解决方案。 我有项目来certificate这一点。 我希望有人觉得它很有用。