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
Lepaskan: 2025-01-03 06:57:39
asal
450 orang telah melayarinya

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;}
}
Salin selepas log masuk

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"});
Salin selepas log masuk

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;
Salin selepas log masuk

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;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan