如题所示,我有两个DataGrid,分别是Grid1,Grid2,其中Grid1绑定了数据源ds中的一个表,我只想将Grid1中的数据复制到Grid2中.而不希望Grid1,Grid2都绑定同一个数据源.也就是说我想生成一个Grid1的副本,这样当复制完后,Grid1中数据再怎么改动,Grid2的值也不随其改动.请各位指教!!最好给出具体示例代码.小弟这里先谢了.

解决方案 »

  1.   

    DataSet ds1 = new DataSet();
    DataGrid1.DataSource = ds1.Tables[0];DataSet ds2 = ds1.Copy();
    DataGrid2.DataSource = ds2.Tables[0];
      

  2.   

    能不能不通过数据源来实现,我是说可不可以将DataGrid赋给另一个结构体,然后再赋回来.
      

  3.   

    可以直接實現在連個結構相同的datagrid之間複製内容for(int i =0 ;i< dg1.Items.Count ;i++)
    {
        for(int j =0 ;j< dg1.Items.Count ;j++)
        {
            dg2.Items[i].cells[j].Text = dg2.Items[i].cells[j].Text
        }
    }
      

  4.   

    錯了   是:
    for(int i =0 ;i< dg1.Items.Count ;i++)
    {
        for(int j =0 ;j< dg1.Columns.Count ;j++)
        {
            dg2.Items[i].cells[j].Text = dg2.Items[i].cells[j].Text
        }
    }
      

  5.   

    to 能不能不通过数据源来实现,我是说可不可以将DataGrid赋给另一个结构体,然后再赋回来.可以。
    如下
    yourDataGrid1.DataSource = yourDataTable;//Bind the second datagrid
    yourDataGrid2.DataSource = yourDataGrid1.DataSource as DataTable;
      

  6.   

    我是在WINFORM中实现呀,在Winform下的DataGrid好像没有Items和Columns属性呀!!
      

  7.   

    DataSet ds1 = new DataSet();
    DataGrid1.DataSource = ds1.Tables[0];DataSet ds2 = ds1.Copy();
    DataGrid2.DataSource = ds2.Tables[0];这个可以
      

  8.   

    这个我也试了,也不行,我要实现的目的是将表中所有USERID等于1的记录的字段值(共16个),赋给所有USERID等于2的字段值,就是参数复制,由于参数很多,所以我第一次将所有USERID等于1的16个记录都添充到DataSet中的"userInfo"表中.然后将此表又绑定到DataGrid上.可是当我选择USERID等于2时,"userInfo"中填充的就应是,USERID等于2的记录.如果这时我事先复制的USERID等于1的记录,粘贴过来,是可以,但是当我保存时,发现却没有保存到数据库中.不知我说明白没.呵呵,不过还是要谢谢各位的帮助!!
      

  9.   

    我在想,ds2 = ds1.Copy(),时,得制过去的不仅仅是数据,而且结构约束条件都复制到了ds2中,所以此时ds2中的约束条件仍然是USERID等于1,所以当我保存时,其实更新的还是数据库中的USERID等于1的那些记录,而并没有更新到USERID等于2的那些记录上.