Futher info:
It seems that the DataGridView is skipping data, or rather saving the data changed in the cell previous to the cell that is actually calling the event. Let me explain:
I go into the database and manually enter a value in the first column, just to have something there to test. I open my form and the DataGridView shows that piece of data.
1) I click in the second column/cell and enter a date.
2) The cell_Validating event fires.
3) The date passes my validation.
4) I test the dataset and find it has no changes, as expected.
5) I call .EndEdit() on the BindingSource tied to that DataGridView.
6) I test the dataset and find it has no changes, NOT as expected.
7) The grid cell shows the date I just entered, but no data has been pushed to DB.
8) Next DataGridView cell is active. I click inside and enter a date.
9) Cell_Validating is called.
10) Value passes my validation.
11) I test the dataset and find it HAS changes, NOT as expected because I have not yet called .EndEdit().
12) I call .EndEdit() on the BindingSource tied to that DataGridView.
13) Changes are pushed to DataSet.
14) DataSet updates database, but ONLY with the first date I entered in the first cell edited, not the current one.
15) Second data value entered disappears from grid (I assume because of a refresh as this date isn’t in the database.)
Ok, so what am I doing wrong? I guess I have the wrong event chosen in which to try and save data/push changes, but I can’t figure out which event is better. Why is there a “delay�in the BindingSource pushing changes back to the dataset?