首頁 > 後端開發 > C++ > 為什麼將項目新增至清單後我的 WinForms DataGridView 不更新?

為什麼將項目新增至清單後我的 WinForms DataGridView 不更新?

Susan Sarandon
發布: 2025-01-04 01:17:43
原創
297 人瀏覽過

Why Doesn't My WinForms DataGridView Update After Adding Items to a List?

綁定BindingList;到WinForm 中的DataGridView

在這個WinForm 場景中,代表一個人的類別和一個List🎜>

在這個WinForm 場景中,代表一個人的類別和一個List 。使用的目的是將此清單綁定到 DataGridView。綁定最初成功,顯示與新增到清單中的項目相對應的兩行。但是,後續新增至清單中的內容不會自動反映在 DataGridView 中。

理解 Binding

問題的根源在於 List 沒有實作 IBindingList。因此,DataGridView 不知道對清單所做的任何變更。

解決方案:BindingList

要解決此問題,請考慮將DataGridView 綁定到BindingList
var list = new BindingList<Person>(persons);
myGrid.DataSource = list;
登入後複製

;反而。此類實作 IBindingList,允許 DataGridView 接收綁定清單中變更的通知。

BindingSource 實現更多控制

var list = new List<Person>()
{
    new Person { Name = "Joe", },
    new Person { Name = "Misha", },
};
var bindingList = new BindingList<Person>(list);
var source = new BindingSource(bindingList, null);
grid.DataSource = source;
登入後複製

更好地控制資料綁定時,請考慮使用BindingSource 作為BindingList 和BindingList 之間的中介。

透過採用此方法,您可以在資料來源和 DataGridView 之間保持一致且動態的綁定,確保即時反映底層資料的更新。

以上是為什麼將項目新增至清單後我的 WinForms DataGridView 不更新?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板