Use the RowEnter event handler to add new rows to DataGridView.
Add rows, DataGridView. Rows can be added to a DataGridView. Users can do this through the program's interface. We use C# code in an event handler such as RowEnter to read in the data that was added. We show how this data can be used.
Enter data. First, the screenshot shows a DataGridView control where several rows were added. In the DataGridView, one column exists. This was added in the Form1_Load event handler.
Note: When the Enter key is pressed, the data put inside each row is read and printed to the Text property of the Form.
RowEnter. This code sample demonstrates how to use the Load event on the form and the RowEnter event on the DataGridView. To create the Load event handler, double-click on the window containing your DataGridView.
Tip: To create the RowEnter event handler, select the DataGridView and select Properties > Events and then RowEnter.
Enter: This event will trigger every time the user presses Enter. This is a useful event to handle in your programs.
Rows: In dataGridView1_RowEnter, we access the Rows property, and then loop over all the rows and then the cells.
Then: We create a string. We change the Form Text property to be equal to that string. You can add rows to your DataGridView using C# code.
Code that uses RowEnter event handler: C#
public partial class Form1 : Form
private void Form1_Load(object sender, EventArgs e)
// Create one column.
private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
// Get all rows entered on each press of Enter.
var collection = this.dataGridView1.Rows;
string output = "";
foreach (DataGridViewRow row in collection)
foreach (DataGridViewCell cell in row.Cells)
if (cell.Value != null)
output += cell.Value.ToString() + " ";
this.Text = output;
Summary. A DataGridView is not just a way to display data from a database. It also allows user input—you can use it to have users enter data. This article demonstrated one way you can access new data as it is put into your program.
And: With the data in your program's object model, you can then persist it, validate it, or flag it with errors.