Jedną z zalet jest to, że jeśli manipulować wartości w DataGridView ręcznie, a następnie zmiany zostaną odzwierciedlone w podstawowych danych. (EDIT: widocznie ta działa również z obowiązującymi normalny DataSource.)
Kolejną zaletą jest to, że masz możliwość dodania wpisu do danych bazowych (przynajmniej jeśli jest to List
) klikając na dodatkowym pustym polu i edytuj wartości. Spowoduje to dodanie nowego przedmiotu bez dodatkowego kodu do napisania.
Ten Detailed Data Binding Tutorial może pomóc rzucić więcej światła na możliwościach danych obowiązujących w ogólnym
EDIT:
Jeszcze jedna różnica jest taka, że manipulacja danych źródłowych, takich jak dodawanie pozycja na liście nie zostanie odzwierciedlona w DataGridView
, nawet jeśli ponownie zostanie przypisana właściwość DataSource
, która działałaby na przykład w postaci ComboBox
. Ale ponowne przypisanie nowej instancji modelu BindingSource
wystarczy.
Więc jeśli masz listę osób:
List<pers> list = new List<pers>();
BindingSource bs = new BindingSource();
bs.DataSource = perlist;
dataGridView1.DataSource = bs;
a później chcesz dodać nowy element do listy w kodzie, wystarczy utworzyć nową instancję BindingSource
, przypisać go do DataGridView.DataSource
list.Add(new pers());
bs = new BindingSource();
bs.DataSource = perlist;
dataGridView1.DataSource = bs;
i nowa pozycja będzie wyświetlacz
Znalazłem jeszcze jedną znaczącą różnicę. Możesz sprawdzić moją edycję. Możesz również rozważyć zaakceptowanie jednej z odpowiedzi, która była dla Ciebie pomocna. –