views:

13

answers:

1

How can I update a column value in a binding source with code?

I am trying for something similar to this:

CustomersBindingSource.AddNew();
CustomersBindingSource.Current["CustomerID"] = Guid.NewGuid();

This code currently errors stating: "Cannot apply indexing with [] to an expression of type 'object'".

Any help re-writing this is greatly appreciated!

+1  A: 

Hi,

BindingSource's Current property is very generic in what it returns: type object. Object doesn't define an indexer so your [] doesn't work. What you need to do is cast the Current property to the (more-specific) type of what it really is.

For example, if Current is really a DataRowView, you could write:

DataRowView current = (DataRowView)CustomersBindingSource.Current;
current["CustomerID"] = Guid.NewGuid();    

Hope this helps,
Ben

Ben Gribaudo
Works perfectly. Thanks for the code and the explanation.
Robert