我在VS2008中有一个Web项目。问题是来自Web报表查看器;报告未打印或导出为pdf。报告显示正常,但按下打印按钮或导出按钮时,没有任何反应。没有错误或崩溃。什么都没发生。默认打印机设置正常,我可以从那台机器打印..我在这里错过了一些东西???
早些时候,当我在新的虚拟目录中安装应用程序报告时没有显示,然后我在我新创建的Web应用程序根目录中复制了aspnet_Client文件夹,然后报告可见。但是,打印和导出功能无效。
答案 0 :(得分:1)
您是否在报告文件本身保持状态?我必须将我的报告添加到Session并在页面加载时重置报告源。
ReportDocument report = new ReportDocument();
report.Load(Server.MapPath("blargh.rpt"));
//...
rptViewer.ReportSource = report;
Session [Constants.Session.Report] = report;
protected void Page_Load(object sender, EventArgs e)
{//detects wether or not the RepoerViewer should be displayed again, to avoid it displaying an empty modal box.
if (hdfDisplayCrystalReport.Value == "Yes")
{
rptViewer.ReportSource = (ReportDocument)Session[Constants.Session.Report];
}
if (rptViewer.ReportSource == null)
{
hdfDisplayCrystalReport.Value = string.Empty;
}
}
答案 1 :(得分:0)
您是否在UpdatePanel中使用该报告?如果是这样,请检查是否已将触发器置于面板内:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server"
DisplayGroupTree="False" oninit="CrystalReportViewer1_Init" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="CrystalReportViewer1"/>
</Triggers>
</asp:UpdatePanel>
同时检查您是否为该页面启用了ViewState