samj28
samj28

Reputation: 267

How to remove rows from DataGridView?

I have a winform with preloaded DataGridView over it...I want to remove rows from datagridview on selecting or highlighting the rows and clicking over the button...

Also want to clear all the columns....

Currently i used

foreach (DataGridViewRow dgvr in dataGridView2.Rows)
{
    if (dgvr.Selected == true)
    {
        dataGridView2.Rows.Remove(dgvr);
    }
}

but it is throwing an exception that "rows or not commited" or something....it would be appreciable if any one have any better suggestions....

Upvotes: 14

Views: 80090

Answers (2)

ram prasad
ram prasad

Reputation: 31

void RemoveDGVRows() {

        for (int idx = 0; idx < DGV_PRInvoice.RowCount; idx++)
        {
            double ReturnQty = double.Parse(DGV_PRInvoice.Rows[idx].Cells[5].Value.ToString());
            if (ReturnQty == 0)
            {
                DGV_PRInvoice.Rows.RemoveAt(idx);
            }
        }
    }

Upvotes: 0

Adam
Adam

Reputation: 2802

If you have AllowUserToAddRows enabled on your DataGridView then you might be accidently deleting the empty row at the bottom of the DataView which is a placeholder for the next user created row. Try disabling this option if not required, otherwise try using code like this:

foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
    if(!row.IsNewRow)
       dataGridView1.Rows.Remove(row);
}

Upvotes: 29

Related Questions