I have a problem and I can’t seem to be able to solve it. I thought someone here will be able to help out.
I have a form that has a DataGridView of customers. Now, I want to add several customers to this DataGridView without actually adding them to the database. This is because the client must be able to create a list of clients and when thats done add them all at once.
I have tried this:
string[] array = {"Microsoft", "Redmond", "Something"}
dataGridView.Rows.Add (array);
Now this can’t be done because I get an exception saying something in the lines of you cant add rows programatically to a DataGridView that is data bound.
Now I have also read that this can be solved by using a table adapter to insert the rows instead of directly adding them via. a DGV. But this is also not possible because I use custom headers in the DGV because existing data is fetched via JOIN’s so if I add them via a TableAdapter I get an exception that the it doesn’t match the databases table schema.
Now I am really lost… Anyone know of a (halfway) elegant solution to this problem?
Thank you
Bind your DGV to a
BindingList<YourObject>, whereYourObjectcan be a simple class with properties reflecting your database schema. Initially populate theBindingListfrom the database, and the DGV will automatically addYourObjectinstances to the list. When you’re ready to commit the changes, do so manually from the BindingList.