Two datagridviews in one windows form = not possible to save data to the second datagridview
- I create a winform
- I´m adding a datagridview by dragging a table from开发者_如何学C data sources
- the result: I´ve got a winform with a datagridview and a bindingnavigator
- I´m adding a second datagridview to the same winform by dragging another table from data sources
- the result: same as bullet 3, but now with two datagridviews; a second bindingnavigator is not added though, don´t ask me why!
- I copy the existing bindingnavigator and a adapts the copy to the second datagridview
- I look into the .Designer.cs file, and it looks perfect regarding consistency
Now to the problem - even though both datagridviews have their own BindingNavigatorSaveItem_Click method, with code pointing out their respective bindingsources... it´s not possible to save changes from the second datagridview to the database!
Anyone seen this? Any suggestions what to do?
I solved it like this (I thank mr/mrs/miss dretzlaff17 who started up some processes in what´s left of my doped brain)
private void tableMeLikeBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
try
{
this.Validate();
this.tableMeLikeBindingSource.EndEdit();
// IMPORTANT: the following predefined generic Update command
// does NOT work (sometimes)
// this.tableAdapterManager.UpdateAll(this.rESOURCE_DB_1DataSet);
// instead we explicitely points out the right table adapter and updates
// only the table of interest...
this.tableMeLikeTableAdapter.Update(this.rESOURCE_DB_1DataSet.TableMeLike);
}
catch (Exception ex)
{
myExceptionHandler.HandleExceptions(ex);
}
}
I would suggest to set the DataSource property of the DataGridView in code through the use of a DataTable or object collection instead of using a bindingnavigator.
精彩评论