Я изучал ADO.NET в С#. Я не уверен, есть ли у меня правильная концепция связывания источника или нет. Как и в случае с asp.net, мы используем
gridview1.DataBind();
Поэтому я подумал, что в случае приложения Windows я должен использовать это.
BindingSource bs = new BindingSource();
bs.DataSource= ds.Tables[0];
gridveiw1.DataSource = bs;
здесь ds - DataSet.
Но если я так использую..
gridview1.DataSource = ds.Tables[0];
он также работает.
Тогда почему мы должны использовать Binding Source. Какие функции связывания ссылок будут разрешены без использования этого или нет необходимости связывать источник здесь. Заранее спасибо.
BindingSource был разработан в.Net 2.0, в то время как классы DataSet/DataTable были первыми в.Net 1.1
От BindingSource и BindingList Of T - DataBinding прост!
Конечно, вы можете напрямую привязать DataGridView к DataTable и обходить BindingSource, но BindingSource имеет определенные преимущества:
- Он предоставляет свойства для сортировки списка, отфильтровать список и т.д., Что было бы больно больным. (т.е. если вы привязываете DataGridView к DataTable напрямую, то для сортировки DataTable вам нужно знать, что DataTable - это IListSource, который знает базовый список, который является DataView, и DataView можно сортировать, фильтровать и т.д.).
- Если вам нужно настроить представления "мастер/ребенок", то BindingSource отлично справляется с этим