我的报表使用 Crystal Report Viewer 显示在 aspx 文件中,单击按钮将报表导出为 PDF 后,所有数据都丢失了,页面中只保留了图形。可能是什么问题?
你能帮忙吗?
我的报表使用 Crystal Report Viewer 显示在 aspx 文件中,单击按钮将报表导出为 PDF 后,所有数据都丢失了,页面中只保留了图形。可能是什么问题?
你能帮忙吗?
实际上,您在 CrystalReportViewer 上单击的所有操作都会触发回发。大多数时候,人们不会将报告文档存储在会话中,然后将其重新分配给查看器。在这个答案中,我演示了如何将现有代码移动到存储报告文档的模型中,以防止在导出/打印/分页/等时出现问题。
对于我的 Web 项目,我在 aspx 文件中的 Page_Init() 方法中将会话数据分配给 ReportSource。因为报表数据是通过Session数据从另一个页面传输过来的。
void Page_Init(object sender, EventArgs e)
{
this.rptViewer.ReportSource = Session["ReportData"];
}
此外,在“aspx.cs”文件的 Page_Load 方法中执行相同的操作,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
rptViewer.Visible = true;
this.rptViewer.ReportSource = Session["ReportData"];
this.rptViewer.ShowFirstPage();
}
}
之后,问题就解决了。