我用VS.net2005自带的水晶报表,想实现在一个页面上显示三张不相关的报表!
1 我有一段代码是用子报表 ,但是我不知道能不能实现这个功能,如果能的话      DataSet ds = new DataSet();
      ds.Tables.Add(ds1.Tables[0].Copy());
      ds.Tables.Add(ds2.Tables[0].Copy());
      ds.Tables.Add(ds3.Tables[0].Copy());        Assembly m_Assembly = Assembly.Load();       Type m_Report_type = m_Assembly.GetType("ZydReport.rpt");//ReportClassName是报表名
        Object aa = m_Assembly.CreateInstance(m_Report_type.FullName);
        //ReportClass reportEngine = (ReportClass)m_Assembly.CreateInstance(m_Report_type.FullName);        for (int i = 1; i < ds.Tables.Count; i++)//给子报表赋值       {
            ReportDocument oSubreport = reportEngine.Subreports[i - 1];
            oSubreport.SetDataSource(ds);
        }        reportEngine.SetDataSource(ds);
        CrystalReportViewer1.ReportSource = reportEngine;这段代码是用子报表 ,但是我不知道能不能实现这个功能,如果能的话Assembly.Load(); 这个Load方法的参数是程序集的名称,我不知道该如何设置这个程序集的名称,请指教!
2 哪位能给出我这个问题相关的详细资料
   我在这里先谢谢大家了!

解决方案 »

  1.   

    自己先来顶一下了! 这个是WEB方面的!
      

  2.   

    需要对subReport再编辑,把subReport中的数据集换成跟主报表一致。
    我不知道为什么这么做,但不这么做似乎就会显示报表登陆不了的问题。
    给你一段参考代码:CrystalReportSource1.ReportDocument.SetDataSource(ds)
                CrystalReportSource2 = CrystalReportSource1
                CrystalReportSource2.ReportDocument.SetDataSource(ds)
                CrystalReportSource1.DataBind()
                CrystalReportSource2.DataBind()
                CrystalReportSource1.ReportDocument.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4
                CrystalReportSource1.ReportDocument.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Portrait
                CrystalReportSource1.ReportDocument.PrintToPrinter(1, False, 0, 0)
                CrystalReportSource1.ReportDocument.Close()
      

  3.   

    CrystalReportSource1 存放mainReport
    CrystalReportSource2 存放subReportCrystalReportSource2 = CrystalReportSource1是必须的,至于为什么,没搞懂-_-!!!