form2里水晶报表数据源调用form1里的dataset
form1里已经定义 public DataSet myDS = new DataSet();并且将数值手动赋值,保存到dataset里
myDS.Tables.Add(dt1);//保存到DataSet
dataGridView1.DataSource = dt1;//绑定数据显示到datagridview中
form1里有个button点击弹出form2,form2里有水晶报表插件,
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
Form1 myDS;
private void Form2_Load(object sender, EventArgs e)
{
ReportDocument myreport = new ReportDocument();
myreport.Load(@"F:\Projects\DateGV\DateGV\CrystalReport1.rpt");
myreport.SetDataSource(myDS.Tables[0]);//
crystalReportViewer1.ReportSource = myreport;
}
}
myreport.SetDataSource(myDS.Tables[0]);//这一行调试的时候tables提示没有定义,新手,求帮助。
------解决方案--------------------
简单点就去掉Form2中Form1 myDS;
在Form2定义一个公开的属性
public DataTable MyData{get;set}
Load:
myreport.SetDataSource(MyData);
Form1:
Form2 f=new Form2();
f.MyData=myDS.Tables[0];
f.Show();