将数据表从一个窗体传递到另一个窗体



我想将数据表复制到另一个表单。

表格1.cs

public DataTable Data1
{
get { return dtDetailsAll; }
}

表单2.cs

Form1 m = new Form1();
dtSessionst = m.Data1.Copy();

但是,它不会复制值。你能帮我吗?

您在Form2.cs中有错误的Form1实例。 使用关键字new

Form1 m = new Form1();

您创建一个新实例,该实例与存在完整DataTable Data1的实例不同。

解决方案:您需要将正确的实例传递给Form2

1( 在Form2中创建第二个构造函数,该构造函数可以将Form1作为参数

2(将其保存在类字段中:

private Form1 frm1;
public Form2(Form1 f1)
{
frm1 = f1;
InitializeComponent();
}

3(现在您可以使用此变量访问Data1

dtSessionst = frm1.Data1.Copy();

最新更新