如何通过代码在数据网格视图上多选和删除多行?

Mos*_*ari 1 c# datagridview

这是我的代码(这是简单的电话簿,这是删除其中的一部分)

      private void btnDeleteFromGV_Click(object sender, EventArgs e)
    {
        try
        {
            dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
        }
        catch (Exception)
        {
            MessageBox.Show("PLS Enter a Row");
        }  
    }
Run Code Online (Sandbox Code Playgroud)

我想在数据网格视图中同时选择两行或更多行并能够删除它们

我应该怎么办!?

msm*_*cic 5

将最初选定的行获取到数组,然后将它们从 gridview 中删除。尝试用这个:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        dataGridView1.MultiSelect = true;
        dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        var selectedRows = dataGridView1.SelectedRows
            .OfType<DataGridViewRow>()
            .Where(row => !row.IsNewRow)
            .ToArray();

        foreach (var row in selectedRows)
            dataGridView1.Rows.Remove(row);

        dataGridView1.ClearSelection();
    }
}
Run Code Online (Sandbox Code Playgroud)

删除前选定的行: 在此输入图像描述

按下按钮后: 在此输入图像描述