DataGridView.RowsRemoved Event
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Occurs when a row or rows are deleted from the DataGridView.
public:
event System::Windows::Forms::DataGridViewRowsRemovedEventHandler ^ RowsRemoved;
public event System.Windows.Forms.DataGridViewRowsRemovedEventHandler RowsRemoved;
public event System.Windows.Forms.DataGridViewRowsRemovedEventHandler? RowsRemoved;
member this.RowsRemoved : System.Windows.Forms.DataGridViewRowsRemovedEventHandler
Public Custom Event RowsRemoved As DataGridViewRowsRemovedEventHandler
Event Type
Examples
The following code example demonstrates how to use this event to update the values in a balance column of a DataGridView. This example is part of a larger example available in the SelectionChanged event.
private void DataGridView1_CellValueChanged(
object sender, DataGridViewCellEventArgs e)
{
// Update the balance column whenever the value of any cell changes.
UpdateBalance();
}
private void DataGridView1_RowsRemoved(
object sender, DataGridViewRowsRemovedEventArgs e)
{
// Update the balance column whenever rows are deleted.
UpdateBalance();
}
private void UpdateBalance()
{
int counter;
int balance;
int deposit;
int withdrawal;
// Iterate through the rows, skipping the Starting Balance row.
for (counter = 1; counter < (DataGridView1.Rows.Count - 1);
counter++)
{
deposit = 0;
withdrawal = 0;
balance = int.Parse(DataGridView1.Rows[counter - 1]
.Cells["Balance"].Value.ToString());
if (DataGridView1.Rows[counter].Cells["Deposits"].Value != null)
{
// Verify that the cell value is not an empty string.
if (DataGridView1.Rows[counter]
.Cells["Deposits"].Value.ToString().Length != 0)
{
deposit = int.Parse(DataGridView1.Rows[counter]
.Cells["Deposits"].Value.ToString());
}
}
if (DataGridView1.Rows[counter].Cells["Withdrawals"].Value != null)
{
if (DataGridView1.Rows[counter]
.Cells["Withdrawals"].Value.ToString().Length != 0)
{
withdrawal = int.Parse(DataGridView1.Rows[counter]
.Cells["Withdrawals"].Value.ToString());
}
}
DataGridView1.Rows[counter].Cells["Balance"].Value =
(balance + deposit + withdrawal).ToString();
}
}
Private Sub CellValueChanged(ByVal sender As Object, _
ByVal e As DataGridViewCellEventArgs) _
Handles DataGridView1.CellValueChanged
' Update the balance column whenever the values of any cell changes.
UpdateBalance()
End Sub
Private Sub RowsRemoved(ByVal sender As Object, _
ByVal e As DataGridViewRowsRemovedEventArgs) _
Handles DataGridView1.RowsRemoved
' Update the balance column whenever rows are deleted.
UpdateBalance()
End Sub
Private Sub UpdateBalance()
Dim counter As Integer
Dim balance As Integer
Dim deposit As Integer
Dim withdrawal As Integer
' Iterate through the rows, skipping the Starting Balance Row.
For counter = 1 To (DataGridView1.Rows.Count - 2)
deposit = 0
withdrawal = 0
balance = Integer.Parse(DataGridView1.Rows(counter - 1) _
.Cells("Balance").Value.ToString())
If Not DataGridView1.Rows(counter) _
.Cells("Deposits").Value Is Nothing Then
' Verify that the cell value is not an empty string.
If Not DataGridView1.Rows(counter) _
.Cells("Deposits").Value.ToString().Length = 0 Then
deposit = Integer.Parse(DataGridView1.Rows(counter) _
.Cells("Deposits").Value.ToString())
End If
End If
If Not DataGridView1.Rows(counter) _
.Cells("Withdrawals").Value Is Nothing Then
If Not DataGridView1.Rows(counter) _
.Cells("Withdrawals").Value.ToString().Length = 0 Then
withdrawal = Integer.Parse(DataGridView1.Rows(counter) _
.Cells("Withdrawals").Value.ToString())
End If
End If
DataGridView1.Rows(counter).Cells("Balance").Value = _
(balance + deposit + withdrawal).ToString()
Next
End Sub
Remarks
When rows are deleted from a DataGridView control, the index numbers of subsequent rows are lowered to compensate.
For more information about how to handle events, see Handling and Raising Events.