我想将数据表复制到另一个表单。
Form1.cs的
public DataTable Data1
{
get { return dtDetailsAll; }
}
Form2.cs
Form1 m = new Form1();
dtSessionst = m.Data1.Copy();
然而,它并没有复制这些值。你能帮帮我吗?
答案 0 :(得分:0)
Form1
中的Form2.cs
实例错误。使用关键字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();