Rumah >pembangunan bahagian belakang >C++ >Bagaimana Mengemas kini Secara Dinamik WinForms DataGridView Terikat ke Senarai?

Bagaimana Mengemas kini Secara Dinamik WinForms DataGridView Terikat ke Senarai?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-03 06:57:39477semak imbas

How to Dynamically Update a WinForms DataGridView Bound to a List?

Cara Mengikat Senarai ke DataGridView dalam WinForms dengan Kemas Kini Data

Mengikat Senarai kepada DataGridView ialah teknik yang berguna untuk memaparkan data dalam bentuk jadual berstruktur. Walau bagaimanapun, adalah penting untuk memastikan bahawa grid dikemas kini secara automatik apabila data asas berubah.

Pertimbangkan senario berikut:

class Person{
    public string Name {get; set;}
    public string Surname {get; set;}
}

Anda mungkin mempunyai Senarai yang mana anda menambah beberapa item:

List<Person> persons = new List<Person>();
persons.Add(new Person(){Name="Joe", Surname="Black"});
persons.Add(new Person(){Name="Misha", Surname="Kozlov"});

Pada mulanya, item ini akan dipaparkan dalam DataGridView. Walau bagaimanapun, jika anda menambah item baharu pada senarai orang, DataGridView tidak akan menunjukkannya.

Isunya

Masalahnya terletak pada Senarai itu tidak dilaksanakan IBindingList, yang bermaksud DataGridView tidak menerima pemberitahuan tentang perubahan dalam data.

Penyelesaian

Untuk menyelesaikannya, gunakan BindingList bukannya Senarai. A BindingList melaksanakan IBindingList, menyediakan pemberitahuan acara yang diperlukan.

var list = new BindingList<Person>(persons);
myGrid.DataSource = list;

Pengikatan Lanjutan dengan BindingSource

Anda boleh meneruskannya dengan menggunakan BindingSource, yang menyediakan fungsi tambahan seperti pengisihan , penapisan dan keselarasan.

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;

Dengan mengikuti teknik ini, anda boleh mengikat Senarai ke DataGridView dalam WinForms dan pastikan grid kekal terkini dengan perubahan dalam data.

Atas ialah kandungan terperinci Bagaimana Mengemas kini Secara Dinamik WinForms DataGridView Terikat ke Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn