So I've been running into some trouble tonight with my c# windows forms application. Is it possible to insert a new row to a datagridview when the currently selected new row is still on its default values? Or, if I want to change the values programmatically, how can I emulate the user editing the textbox in order to finalize the row?
To clarify, when a row is a new row (and shows up as true with the isNewRow property), I cannot figure out how to change out of the isNewRow = true state to generate a new empty row below.
I've tried dataGridView.EndEdit(), dataGridView.CurrentRow.DataGridView.EndEdit(), bindingSource.EndEdit(), and none of these have really done the trick. (also, using dataGridView.BeginEdit() puts the text box into editmode, which isn't handy, because I can't seem to edit the cell programmatically after that)
Ideally, I would like to be able to continue to hit enter on new rows, while changing their values with a custom control, or not, and have a new row appear underneath.
Does anyone have any solutions to this?
Okay so I figured how to make this work. When modifying the values using my custom control, I had to use
bindingSource.EndEdit();
dataGridView.NotifyCurrentCellDirty(true);
dataGridView.EndEdit();
dataGridView.NotifyCurrentCellDirty(false);
So whenever changes are made to the new row, it forces the row to be committed and adds a new blank row space to the end of the datagridview.
I did not have to use Validate(), however.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With