首页 > 解决方案 > 如何使用 BindingList 作为数据源从 DataGridView 中删除一行?

问题描述

我有一个datagridview,Source 是BindingList,其中包含名称、日期和位置。我正在使用它来添加新用户:

public void Add(employee add) { mylist.Add(add); }
employees workers = new employees();
private void button1_Click(object sender, EventArgs e)
{
    workers.Add(new employee(textBox1.Text, dateTimePicker1.Value, textBox2.Text));
    var data = workers.MyList.Select(bring => new
    {
        Name = bring._Name,
        Date = bring._Date,
        Position = bring._Position,
    }).ToList();

    dataGridView1.DataSource = data;
}

而且我有一个要删除的按钮,但它会引发 System.InvalidOperationException 或类似的异常。这是我尝试使用的:

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

还有这个:workers.MyList.RemoveAt(dataGridView1.SelectedRows[0].Index);

标签: c#listdatagridviewdelete-rowbindinglist

解决方案


推荐阅读