C # DataGridView.DataSource разница между использованием BindingSource и не - PullRequest
5 голосов
/ 13 декабря 2010

Я обнаружил, что могу просто установить DataGridView.DataSource непосредственно на DataTable, не используя промежуточный BindingSource, что и используют все учебники, которые я видел до сих пор. Так в чем же разница между этими двумя?

1 Ответ

3 голосов
/ 15 декабря 2010

Некоторая информация о том, как использование BindingSource является улучшением старого способа привязки непосредственно к DataTable.

http://msdn.microsoft.com/en-us/library/aa480734.aspx

В итоге:

Компонент BindingSource упрощает работа разработчика, предоставляя управление валютой, обмен уведомление и возможность легко получить доступ к членам в связанном списке. Есть, однако, некоторые другие менее известные улучшения данных обязательная история стоит обсудить, и в На самом деле, важные дополнения, которые дополнить предлагаемую функциональность компонентом BindingSource.

Объект Binding имеет несколько новых члены в .NET Framework 2.0, которые обеспечить больший контроль над обязательная операция. Например, вы может контролировать, как данные отформатированы в связанный контроль, когда источник данных обновляется, и как NULL и DBNull значения в источнике данных обрабатываются. Эти новые участники также поддерживаются с соответствующими методами Add в ControlBindingsCollection. Вы можете воспользоваться этими дополнениями используя форматирование и расширенный Диалоговое окно привязки в Visual Studio или через код. Кроме того, Binding объект имеет лучшую поддержку для обработки исключения и ошибки, которые могут возникнуть в процессе связывания с добавление события BindingComplete.

...