Crystal 报告显示空白页

Crystal Report showing blank page

我是 Crystal 报告的新手,使用教程我在 VS.2012 和 Crystal 报告 "CRforVS_13_0_5" 中创建了一个报告。当我 运行 这份报告时,它只显示一个银行页面。甚至 "Crystal Report Viewer" 的工具栏也没有显示。

我在 google 和 Whosebug 上搜索了很多,但是 none 给出的解决方案帮助了我。

我创建此报告所遵循的步骤如下:

  1. 创建了数据集。
  2. 在我的网络项目中添加了一个 Crystal 报告。
  3. 在我的项目中添加了一个新表单 "Default.aspx" 并在其中添加了一个按钮。
  4. 在代码的点击事件中键入以下代码。

我的代码:

protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
    SqlConnection CN;
    String MyConnectionString = "";
    MyConnectionString = "data source=.; initial catalog=Test; user id=sa; password=Abc1234";

    CN = new SqlConnection(MyConnectionString);
    CN.Open();

    string SQL = null;
    SQL = "SELECT * FROM UserInformation ORDER BY Username";

    SqlDataAdapter myDA = new SqlDataAdapter(SQL,CN);
    CN.Close();

    DatasetEmp DS = new DatasetEmp();
    myDA.Fill(DS,"UserInformation");

    ReportDocument myRPT = new ReportDocument();
    myRPT.Load(Server.MapPath("~/CrystalReportEmp.rpt"));
    myRPT.SetDataSource(DS);

    CrystalReportViewer1.ReportSource = myRPT;
}

在我 运行 代码之后,它什么也没显示。 如下图。

您需要将 aspnet_client 文件夹保存到您的应用程序目录中。您将在 C:\inetpub\wwwroot 位置找到此 aspnet_client 文件夹。

将文件夹 "C:\inetpub\wwwroot\aspnet_client\system_web_0_30319\crystalreportviewers13" 复制到您的应用程序根文件夹后,请务必复制并粘贴下面的给定代码:

    <configSections>
<sectionGroup name="businessObjects">
  <sectionGroup name="crystalReports">
    <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
       <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
  </sectionGroup>
</sectionGroup>
  </configSections>

<businessObjects>
  <crystalReports>
    <rptBuildProvider>
      <add embedRptInResource="true" />
    </rptBuildProvider>
    <crystalReportViewer>
          <add key="ResourceUri" value="/crystalreportviewers13" />
  </crystalReportViewer>
  </crystalReports>
</businessObjects>

代码必须紧跟在 web.config 文件中的 <配置> 标记之后。对我来说,任何其他地方都不起作用并生成错误消息。

您需要将 aspnet_client 个文件放在应用程序文件夹中。如果问题未解决,您需要使用 F12 键检查浏览器中的控制台错误,然后您可以将 Crystal 报告文件放在应用程序的指定文件夹中。

我也遇到了同样的问题,我是这样解决的:
1. 将 C:\inetpub\wwwroot\aspnet_client\system_web_0_30319 中的 crystalreportviewers13 foler 复制到项目文件夹 ROOT.
2. 将此复制到 Web.config:

    <configuration>
<configSections>
     <sectionGroup name="businessObjects">
         <sectionGroup name="crystalReports">
               <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null"/>
               <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
         </sectionGroup>
     </sectionGroup>
 </configSections>
........................
   <businessObjects>
      <crystalReports>
        <rptBuildProvider>
          <add embedRptInResource="true" />
        </rptBuildProvider>
        <crystalReportViewer>
          <add key="ResourceUri" value="/crystalreportviewers13" />
        </crystalReportViewer>
      </crystalReports>
    </businessObjects>
</configuration>

祝你好运。

"the code must be paste right after < configuration > tag in web.config file. for me any other place did not work and generated Error message." 这些配置部分和业务对象节点必须是您的 web.config for Web Forms

中的第一个节点