You don't have to refresh the BindingSource. It happens automatically when you make changes to the underlying list, which is the whole point of binding in the first place. If the user is adding and deleting records then you should be adding rows to, or deleting them form, the DataTable that you bound to the BindingSource in the first place. The rest is taken care of for you. If it wasn't, data-binding would be a waste of time.