我想将数据表复制到另一个表单。
表格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();