活跃报告未显示出口PDF中的子报告



我正在使用活动报告(评估版(,并在我的C#应用程序中开发了一个报告,我有一个主要报告和一个子报告,在主报告的详细信息部分

我已经根据活动的报告文档进行编码

我可以在预览部分中看到所需的结果,但是将报告导出到PDF文件后,它不会呈现子报告。

有人可以帮助我吗?预先感谢

以下是我的主要报告的代码

    using System;
using System.Xml;
namespace Abc.XQ.Reports.Reports
{
    /// <summary>
    /// Summary description for TestSubReport.
    /// </summary>
    public partial class TestSubReport : GrapeCity.ActiveReports.SectionReport
    {

        public TestSubReport()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();
        }
        private void pageHeader_Format(object sender, EventArgs e)
        {
        }
        private SubReport rpt1;
        private void TestSubReport_ReportStart(object sender, EventArgs e)
        {
            rpt1 = new SubReport();
            rpt1.LoadLayout(XmlReader.Create(@"E:ProjectsRestartedNew folderSample reportsSubReport2.rpx"));
        }
        private void TestSubReport_FetchData(object sender, FetchEventArgs eArgs)
        {
        }
        private void detail_Format(object sender, EventArgs e)
        {
            this.sub1.Report = rpt1;
        }
    }
}

以下是API控制器,它调用我的主报告并生成PDF

[HttpGet]
    [Route("testSub")]
    public void GetSubReport()
    {
        TestSubReport rpt = new TestSubReport();
        XmlTextWriter xtw = new XmlTextWriter(@"C:MyPDFmMyPDF1.rpx", null);
        rpt.Run();
        try
        {
            rpt.SaveLayout(xtw);
        }
        catch (Exception e)
        {
        }
        finally
        {
            xtw.Close();
        }
        TestSubReport report1 = new TestSubReport();
        report1.LoadLayout(new XmlTextReader(@"C:MyPDFmMyPDF1.rpx"));
        report1.FetchData += (sender, args) =>
        {                   args.EOF = true;
        };
        report1.DataInitialize += (sender, args) =>
        {
        };

        report1.Run();
        var pdfExport = new PdfExport();
        var stream = new MemoryStream();
        pdfExport.Export(report1.Document, stream);
        var response = HttpContext.Current.Response;
        response.Clear();
        response.ContentType = "application/pdf";
        response.AddHeader("content-disposition", "inline;filename=myRreport.pdf");
        response.Buffer = true;
        stream.WriteTo(response.OutputStream);
        response.End();
    }

我在葡萄城支持的帮助下解决了问题刚刚评论了以下代码,它凝视着工作

report1.LoadLayout(new XmlTextReader(@"C:MyPDFmMyPDF1.rpx"));
    report1.FetchData += (sender, args) =>
    {                   args.EOF = true;
    };
    report1.DataInitialize += (sender, args) =>
    {
    };

最新更新