C# 仅将选定的行datagridview传递给新表单

C# 仅将选定的行datagridview传递给新表单,c#,winforms,visual-studio-2010,datagridview,C#,Winforms,Visual Studio 2010,Datagridview,我的datagridview*1*中有大量数据,但我现在想要的是只将所选行传递到新表单的datagridview*2*,到目前为止,我只发现了这行代码。有什么帮助吗 foreach (DataGridViewRow row in dataGridView1.SelectedRows) { //pass selected row's from datagridview1(form1) to datagridview(form2) } 有人

我的datagridview*1*中有大量数据,但我现在想要的是只将所选行传递到新表单的datagridview*2*,到目前为止,我只发现了这行代码。有什么帮助吗

    foreach (DataGridViewRow row in dataGridView1.SelectedRows)
            {
//pass selected row's from datagridview1(form1) to datagridview(form2)
             }

有人能帮我吗?谢谢。

以如下方式声明表单1中的新表单:

System.Windows.Forms.Form f = System.Windows.Forms.Application.OpenForms["Form2"];
将newform的datagridview修饰符声明为public,然后在代码中添加以下内容:

foreach (DataGridViewRow row in dataGridView1.SelectedRows)
            {

                ((Form2)f).dataGridView2.Rows.Add(row);
            }

尝试此操作,如果发现任何错误,请通知我…

您可以通过在form2中设置公共属性来完成此操作,如

public List Form1\u SelectedRowsList

这样您就可以像

form2frm=newform2{Form1\u SelectedRowsList=dataGridView1.SelectedRows}

在form2\u FormLoad事件中,您可以执行以下操作


dataGridView2.DataSource=Form1\u SelectedRowsList

所以我声明了System.Windows.Forms.Form f=System.Windows.Forms.Application.OpenForms[“newform”];在form1和form2中,public void dataGridView1_CellContentClick(对象发送者,DataGridViewCellEventArgs e){foreach(dataGridView1.SelectedRows中的DataGridViewRow行){((新表单)f)。dataGridView2.Rows.Add(row);}(新表单)f)无法工作,找不到命名空间。请将newform的名称更改为form2 System.Windows.Forms.Application.OpenForms[“form2”];