我有一个折中的办法,那一个只有一列的表接一下,然后再用add方法添加,你看看好不好用。
另外,对于datagridview来说,绑定的数据应该是虚拟的表形成的数据,如果同时用这个datagridview的数据来绑定其他的列,会出错吧?

解决方案 »

  1.   

    从一个DataGridView中移除后再插入到另一个DataGridView中。
      

  2.   

    首先检查一下你的dgvSelected是否已经有行了,如果dgvSelected是空的,哪么dgvSelected.Rows.Add(dgvList.Rows[0]);是可以完成的,因为这个操作只是向dgvSelected中添加一行,而不是添加数据。
    如果dgvSelected中已经有行了,哪么就会出现你所碰到的问题。因为dgvSelected.Rows.Add(dgvList.Rows[0]);只是在dgvSelected添加一行。为不是你向要的将dgvList.Rows[0]中绑定的数据添加到dgvSelected中,
    因此你首先要理解问题出现什么地方了。从你的意图中可以看出你是想添加数据,而不是添加行。
      

  3.   

    3楼分析得有道理,但事实刚好跟你说的相反,
    我测试的时候是dgvSelected是空的,添加时就出这样的错.我的意图就是就是要添加一有数据的行
      

  4.   

    提供的行已属于 DataGridView控件
    ----------------------------
    看清楚错误。
      

  5.   

    插入的行好象应该ListItem,这个应该直接插入.不行你还是分开插入吧,一个循环就行了
      

  6.   

    为什么是两个控件,取一个控件的行添加到另一个控件里会出现:
    提供的行已属于 DataGridView控件 ????
      

  7.   

    dgvSelected.Rows.Add(dgvList.Rows[0]);//将第一行插入到dgvSelected控件中.dgvList中是有数据的. 
    改成
    dgvSelected.Rows.Add(dgvList.Rows[0].ItemArray);
    就OK了
      

  8.   

    11楼的朋友,请问有dgvList.Rows[0].ItemArray的.ItemArray这个属性吗?
    哪里找出来的我怎么没有.