Почему мы должны использовать BindingSource с gridview, когда он работает, если я непосредственно назначаю ему набор данных?

1

Я изучал 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. Какие функции связывания ссылок будут разрешены без использования этого или нет необходимости связывать источник здесь. Заранее спасибо.

Теги:
database
ado.net

1 ответ

0
Лучший ответ

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 отлично справляется с этим

Ещё вопросы

Сообщество Overcoder
Наверх
Меню