我有两个dataGridView,分别为:dataGridView1,dataGridView2我想把dataGridView1.rows[10],复制给dataGridView2做为新的一行,怎么做?

解决方案 »

  1.   

    除非自己写的类,否则,谁说行可以clone我就跟谁急,Mark
      

  2.   

    首先获得符合你条件的gridview1的那行数据(一个字段一个字段获得)
    然后添加到gridview2
      

  3.   

    关键问题在于 两个DGV里面的字段是不是完全一样,如果不是,那么就只能是你现在用的方法了
      

  4.   

    是否可以在dataset里面处理好再绑定到你要的相应DataGirdVeiw里面阿?具体的没有试过
      

  5.   

    private void CopyDataRowToDataTable(DataTable dt,DataRow dr)
            {
                DataRow r = dt.NewRow();
                foreach (DataColumn dc in dr.Table.Columns)
                {
                    r = dr[dc.ColumnName];
                }
                dt.Rows.Add(r);
            }
      

  6.   

    更正: r = dr[dc.ColumnName];
    为: r[dc.ColumnName] = dr[dc.ColumnName];
      

  7.   

    .net没提供行复制功能吧,因为要考虑主键问题,所以你想要只能自己写一个了。
      

  8.   

    帖子很老了,回复一下,给以后的人一个提示.
    DataGridViewRow newrow=(DataGridViewRow)this.dataGridView1.Rows[0].Clone();
                
                this.dataGridView1.Rows.Add(newrow);
      

  9.   

    这是最快的方法了
    结帖吧
                DataRowCollection rows = dataGridView1.Rows;
                foreach (DataRow dr in rows)
                    dataGridView2.Rows.Add(dr);
      

  10.   

    DataTable tb=dataGridView1.datasource as DataTable;
      

  11.   

    跟18楼的想法一至,先转化为datatable对象。
    然后处理这个datatable再重新绑定。