将数据从选定数据网格视图传递到另一个数据网格视图

时间:2014-05-19 14:56:39

标签: c# winforms datagridview rows indexoutofrangeexception

您好我正在尝试将选定的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:索引0的值不是   System.Windows.Forms.CurrencyManager.get_Item(Int32index)在   System.Windows.Forms.DataGridView.DataGridViewDataConnection.GetError(Int32rowIndex)   要替换此默认对话框,请处理数据错误事件。

并逐个清空单元格并弹出所有时间错误消息。谁能告诉我如何纠正它?

0 个答案:

没有答案