DataGridView.UserAddedRow Event
Occurs when the user has finished adding a row to the DataGridView control.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
For more information about handling events, see Consuming Events.
The following code example demonstrates how to use the UserAddedRow event to update a label displaying the total number of entries in a DataGridView. This example is part of a larger example available in the SelectionChanged event.
private void DataGridView1_UserAddedRow( object sender, DataGridViewRowEventArgs e) { // Update the labels to reflect changes to the number of entries. UpdateLabelText(); } private void UpdateLabelText() { int WithdrawalTotal = 0; int DepositTotal = 0; int SelectedCellTotal = 0; int counter; // Iterate through all the rows and sum up the appropriate columns. for (counter = 0; counter < (DataGridView1.Rows.Count); counter++) { if (DataGridView1.Rows[counter].Cells["Withdrawals"].Value != null) { if (DataGridView1.Rows[counter]. Cells["Withdrawals"].Value.ToString().Length != 0) { WithdrawalTotal += int.Parse(DataGridView1.Rows[counter]. Cells["Withdrawals"].Value.ToString()); } } if (DataGridView1.Rows[counter].Cells["Deposits"].Value != null) { if (DataGridView1.Rows[counter] .Cells["Deposits"].Value.ToString().Length != 0) { DepositTotal += int.Parse(DataGridView1.Rows[counter] .Cells["Deposits"].Value.ToString()); } } } // Iterate through the SelectedCells collection and sum up the values. for (counter = 0; counter < (DataGridView1.SelectedCells.Count); counter++) { if (DataGridView1.SelectedCells[counter].FormattedValueType == Type.GetType("System.String")) { string value = null; // If the cell contains a value that has not been commited, // use the modified value. if (DataGridView1.IsCurrentCellDirty == true) { value = DataGridView1.SelectedCells[counter] .EditedFormattedValue.ToString(); } else { value = DataGridView1.SelectedCells[counter] .FormattedValue.ToString(); } if (value != null) { // Ignore cells in the Description column. if (DataGridView1.SelectedCells[counter].ColumnIndex != DataGridView1.Columns["Description"].Index) { if (value.Length != 0) { SelectedCellTotal += int.Parse(value); } } } } } // Set the labels to reflect the current state of the DataGridView. Label1.Text = "Withdrawals Total: " + WithdrawalTotal.ToString(); Label2.Text = "Deposits Total: " + DepositTotal.ToString(); Label3.Text = "Selected Cells Total: " + SelectedCellTotal.ToString(); Label4.Text = "Total entries: " + DataGridView1.RowCount.ToString(); }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.