Heim > Backend-Entwicklung > C++ > Wie halte ich eine DataGridView beim Binden an eine dynamische Liste auf dem neuesten Stand?

Wie halte ich eine DataGridView beim Binden an eine dynamische Liste auf dem neuesten Stand?

Patricia Arquette
Freigeben: 2025-01-04 16:10:44
Original
553 Leute haben es durchsucht

How to Keep a DataGridView Updated When Binding to a Dynamic List?

So zeigen Sie eine dynamisch aktualisierte Bindungsliste in DataGridView an

Einführung

Binden einer Liste< T> zu einem DataGridView kann eine bequeme Möglichkeit sein, dynamische Daten anzuzeigen. Das Aktualisieren der Liste spiegelt jedoch möglicherweise nicht immer Änderungen in der DataGridView ohne explizite erneute Bindung wider.

Problem

Stellen Sie sich ein Szenario mit einer List enthält zwei Artikel („Joe Black“ und „Misha Kozlov“). Bei Bindung an DataGridView werden diese Elemente angezeigt. Durch das Hinzufügen neuer Elemente zur Liste wird jedoch der Inhalt des Rasters nicht aktualisiert.

Lösung

Verwenden einer BindingList

Das DataGridView unterhält keine direkte Verbindung zu einer Liste. Verwenden Sie stattdessen eine BindingList, die IBindingList implementiert und das Raster über Änderungen benachrichtigt.

var list = new BindingList<Person>(persons);
myGrid.DataSource = list;
Nach dem Login kopieren

Verwenden einer BindingSource

Für eine detailliertere Steuerung sollten Sie die Verwendung in Betracht ziehen eine 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;
Nach dem Login kopieren

Die BindingSource bietet Flexibilität für die Datenbearbeitung und die Bindung mehrerer Datenquellen. Änderungen an den zugrunde liegenden Daten werden ohne explizite erneute Bindung an das Raster weitergegeben.

Das obige ist der detaillierte Inhalt vonWie halte ich eine DataGridView beim Binden an eine dynamische Liste auf dem neuesten Stand?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage