0
private void button_ChangeStatus_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow item in this.dataGridView1.SelectedRows)
    {
        BindingList<BugClass> bindingList = new BindingList<BugClass>();
        bindingList = this.bindingSource.DataSource as BindingList<BugClass>;

        bindingList[item.Index].Status = txtBox_StatusChange.Text;
    }
}

我不断收到“对象引用未设置为对象的实例”。我知道这是因为它没有被初始化,但是,它在这里被初始化,表明有一个空类:

BindingList<BugClass> bindingList = new BindingList<BugClass>();

然后一旦出现以下行,它就会变为 null:

bindingList = this.bindingSource.DataSource as BindingList<BugClass>;

我在这里先向您的帮助表示感谢

4

1 回答 1

0

实际上,它一次又一次地被初始化和销毁​​,foreach (DataGridViewRow item in this.dataGridView1.SelectedRows)并且每次button_ChangeStatus_Click触发。这就是对象引用未设置为对象实例的地方。来自。

在别处声明它,例如在顶部使用包含类的字段或属性。这样,它在任何地方都可用,并且可以在事件处理程序内部进行分配。

声明(顶部,带有其他字段/属性):

private BindingList<BugClass> bindingList { get; set; }

初始化(在构造函数中):

bindingList = new BindingList<BugClass>();

分配/更新:

哪里都行。

于 2013-01-05T15:53:12.087 回答