簡體   English   中英

從 DataGridView 解除綁定 BindingSource 的正確方法

[英]Correct way to unbind a BindingSource from a DataGridView

我有一個 BindingList<> 對象,設置為 BindingSource 的 DataSource。 這被設置為 DataGridView 的數據源。

我擔心不會造成任何潛在的內存泄漏,所以想知道在我處理完數據后是否有更好的方法來解除這些連接。

我在想:

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

重新綁定:

bindingsource.DataSource = bindinglist<myObjects>;
datagridview.DataSource = bindingsource;

這個順序是正確的,還是真的很重要? 我是否遺漏了應該存在的任何內容?

給datagridview的DataSource賦值null是清除grid數據源的最好方法,你是對的。

如果您使用自定義列,請在清除數據源之前將 AutoGenerateColumns 設置為 false。 這將確保保留您的自定義列。 否則它們將被清除並在下一個 DataBind 時自動生成。

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

編輯:不知道為什么這被否決了。 這是非自動生成列的正確解決方案。 我有項目來證明這一點。 我希望有人覺得它有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM