Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Select newly added Row - DataGridView and BindingSource

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?

like image 871
Ruben Trancoso Avatar asked Dec 29 '22 12:12

Ruben Trancoso


2 Answers

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.

like image 69
Oliver Friedrich Avatar answered Jan 17 '23 08:01

Oliver Friedrich


Is it possible? I would say yes.

Here's an aricle related to it:
DataGridView and BindingSource (on Joel's Forum)

like image 40
o.k.w Avatar answered Jan 17 '23 08:01

o.k.w