Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 853913
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T07:50:15+00:00 2026-05-15T07:50:15+00:00

I think I understand well enough what the BindingSource class does – i.e. provide

  • 0

I think I understand well enough what the BindingSource class does – i.e. provide a layer of indirection between a data source and a UI control. It implements the IBindingList interface and therefore also provides support for sorting. And I’ve used it frequently enough, without too many problems. But I’m wondering if I use it more often than I should. Perhaps an example would help.

Let’s say I have just a simple textbox on a form (using WinForms), and I’d like to bind that textbox to a simple property inside a class that returns a string. Is it worth using a BindingSource in this situation?

Now let’s say I have a grid on my form, and I’d like to bind it to a DataTable. Should I use a BindingSource now?

In the latter case, I probably would not use a BindingSource, as a DataTable, from what I can gather, provides the same functionality that the BindingSource itself would. The DataTable will fire the the right events when a row is added, deleted, etc so that the grid will automatically update.

But in the first case with the textbox being bound to a string, I would probably have the class that contains the string property implement INotifyPropertyChanged, so that it could fire the PropertyChanged event when the string changes. I would use a BindingSource so that it could listen to these PropertyChanged events so that it could update the textbox automatically when the string changes.

How does this sound so far? I still feel like there’s a gap in my understanding that’s preventing me from seeing the whole picture. This has been a pretty vague question so far, so I’ll try to ask some more specific questions – ideally the answers will reference the above examples or something similar…

(1) Is it worth using a BindingSource in either of the above examples?

(2) It seems that developers just “assume” that the DataTable class will do the right thing, in firing PropertyChanged events at the right time. How does one know if a data source is capable of doing this? Is there a particular interface that a data source should implement in order for developers to be able to assume this behaviour?

(3) Does it matter what Control is being bound to, when considering whether or not to use a BindingSource? Or is it only the data source that should affect the decision? Perhaps the answer is (and this would seem logical enough): the Control needs to be intelligent enough to listen to the PropertyChanged events, otherwise a BindingSource is required. So how does one tell if the Control is capable of doing this? Again, is there a particular interface that developers can look for that the Control must implement?

It is this confusion that has, in the past, led to me always using a BindingSource. But I’d like to understand better exactly when to use one, so that I do so only when necessary.

  • 1 1 Answer
  • 3 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T07:50:15+00:00Added an answer on May 15, 2026 at 7:50 am

    Hi I also have some confusion about the subject.
    When I use datatables those implement all the interfaces.
    However I always use the bindingsource just to be sure.. 🙂

    There are some arguments why that I can think of

    1. Multiple views on the same recordset. (ie. 2 grids with diffent sort orders/filters)
    2. Filtering,Sorting while not changing the sort order of the records themselves (Filter/Sort)
    3. Ability to disable binding for a while for performance reasons. (when there are big updates in the table, don’y listen to all the IXXChanged events)
    4. IErrorprovider never worked for me without a bindingsource, however this could be my fault.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Well, I think trying to understand someone elses SQL can be trying enough but
So I (think I) understand the difference between Float, Double, and Decimal , but
I think I've got the format of Recursive CTEs down well enough to write
First, I understand the how of iteratees, well enough that I could probably write
I'm currently trying to understand some assembler code well enough to reconstruct the C
I think understand the idea of duck typing, and would like to use it
I think I understand the logic behind a delegate. I got more the problem
I think I understand the basic principals of T4 but I'm having a hard
I think I understand strong typing , but every time I look for examples
I think I understand the happened-before relationship for single variables. If I write a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.