0

您好我正在尝试将选定的 datagridview 行添加到另一个 datagridview。

我正在使用 man 对象类。这是我的课。

 class Man
{
    private string _name;
    public string name
    {

        set { _name = value; }
        get { return _name; }

    }

    private string _address;
    public string address
    {
        set { _address = value; }
        get { return _address; }

    }
}

我有两个列表。

    List<Man> people= new List<Man>();
    List<Man> people2 = new List<Man>();
    public string tempname;

这是行点击事件的完整代码。

    private void dataGridView1_Click(object sender, EventArgs e)
    {
        foreach (DataGridViewRow row in dataGridView1.SelectedRows)
        {
            Man manobj = new Man();

            manobj.name = Convert.ToString(row.Cells[0].Value);
            tempname = Convert.ToString(row.Cells[0].Value);
            manobj.address= Convert.ToString(row.Cells[1].Value);

            //Adding the man object
            people2.Add(manobj);
            BindingSource manbind2= new BindingSource();
            manbind2.DataSource = people2;
            dataGridView2.DataSource = manbind2;
            dataGridView1.Rows.RemoveAt(row.Index);

            for (int i = 0; i < people.Count; i++)
            {
                Man tempman = people[i] as Man;
                if (tempman.name == tempname)
                {
                    people.Remove(tempman);
                }
            }

        }
    }

当我单击时,有时会收到此错误消息。

DataGridView 中出现以下异常。

System.indexOutOfRangeException:Index 0 在 System.Windows.Forms.CurrencyManager.get_Item(Int32index) 处没有值 System.Windows.Forms.DataGridView.DataGridViewDataConnection.GetError(Int32rowIndex) 要替换此默认对话框,请处理数据错误事件.

并且单元格被一一清空,并且一直弹出错误消息。谁能告诉我如何纠正它?

4

0 回答 0