Einer der Vorteile ist, dass, wenn Sie manipulieren Werte in der DataGridView manuell, dann werden die Änderungen in den zugrunde liegenden Daten widergespiegelt. (EDIT: Es scheint dies funktioniert auch mit normalen Datasource binden.)
ein weiterer Vorteil ist, dass Sie die Möglichkeit zu erhalten, einen Beitrag für die zugrunde liegenden Daten hinzuzufügen (zumindest, wenn es sich um eine List
ist), indem Sie auf den zusätzlichen leeren Feld klicken und editiere die Werte. Dadurch wird ein neues Element ohne zusätzlichen Code zum Schreiben hinzugefügt.
Diese Detailed Data Binding Tutorial helfen kann mehr Licht auf die Fähigkeiten von Daten zu vergießen im allgemeinen
EDIT Bindung:
Ein weiterer Unterschied besteht darin, dass eine Manipulation der zugrunde liegenden Daten, wie das Hinzufügen Ein Element zu einer Liste wird nicht in der DataGridView
widergespiegelt, auch wenn die DataSource
Eigenschaft erneut zugewiesen wird, die beispielsweise in einer ComboBox
funktionieren würde. Aber eine Neuzuweisung einer neuen Instanz eines BindingSource
wird den Trick tun.
Also, wenn Sie eine Liste der Personen:
List<pers> list = new List<pers>();
BindingSource bs = new BindingSource();
bs.DataSource = perlist;
dataGridView1.DataSource = bs;
und wollen später auf ein neues Element in die Liste im Code hinzuzufügen, erstellen Sie einfach eine neue Instanz von BindingSource
neu zuzuweisen, um es in die DataGridView.DataSource
list.Add(new pers());
bs = new BindingSource();
bs.DataSource = perlist;
dataGridView1.DataSource = bs;
und das neue Element wird Anzeige
fand ich noch einen signifikanten Unterschied. Sie können meine Bearbeitung überprüfen. Sie können auch in Betracht ziehen, eine der Antworten zu akzeptieren, die für Sie hilfreich waren. –