我正在使用活动报告(评估版(,并在我的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) =>
{
};