Select newly added Row - DataGridView and BindingSource
Solution 1
Dont know id its the best solution but for instance looks better than iterate.
DataRowView drv = (DataRowView)source.AddNew();
grupoTableAdapter.Update(drv.Row);
grupoBindingSource.Position = grupoBindingSource.Find("ID", drv.Row.ItemArray[0]);
Solution 2
Use the events from the DataGridView like this for this task:
private void RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
this.Rows[e.RowIndex].Selected = true;
}
That marks the newly added row as the selected.
Solution 3
Is it possible? I would say yes
.
Here's an aricle related to it:
DataGridView and BindingSource (on Joel's Forum)
Ruben Trancoso
Addicted programmer Do at home just because you can supporter
Updated on July 05, 2022Comments
-
Ruben Trancoso almost 2 years
I'm adding a new Row to a BindingSource that is Bound to a DataGridView
source.AddNew();
After this, use BindingSource to get the newly added row is return the next row in the DataGridView when its sorted.
ROW "A" ROW "B" <- myBindingSource.AddNew(); ROW "C"
myBindingSource.Current gives ROW "C". (it became the selected row in the DataGridView)
I need this because I want to update just the newly added row
DataRowView drv = (DataRowView)myBindingSource.Current; myTableAdapter.Update(drv.Row);
and not the entire table.
myTableAdapter.Update(myDataSet.myTable);
and also, I would like to have this newly added line selected in the DataGridView after insertion.
is it possible in some way?