水晶报告显示空白页

时间:2016-02-02 09:56:56

标签: c# asp.net visual-studio-2012 crystal-reports

我是Crystal报表的新手,使用我在VS.2012和Crystal Report“CRforVS_13_0_5”中创建报表的教程。当我运行此报告时,它只显示银行页面。甚至没有显示“Crystal Report Viewer”的工具栏。

我在谷歌和Stackoverflow上搜索了很多,但没有一个解决方案帮助我解决这个问题。

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

  1. 创建了一个DataSet。
  2. 在我的网站项目中添加了Crystal报告。
  3. 在我的项目中添加了一个新的表单“Default.aspx”,并在其中添加了一个按钮。
  4. 在代码的点击事件中键入以下代码。
  5. 我的代码:

    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;
    }
    

    运行代码后,它什么都没显示。 如下图所示。enter image description here

5 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

将文件夹“C:\ inetpub \ wwwroot \ aspnet_client \ system_web \ 4_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>

代码必须在&lt;之后粘贴。配置&gt; web.config文件中的标记。对我来说,任何其他地方都无法正常工作并生成错误信息。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我遇到了同样的问题,然后按以下步骤解决:
1.将crystalreportviewers13文件从C:\ inetpub \ wwwroot \ aspnet_client \ system_web \ 4_0_30319复制到Project文件夹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>

祝你好运。

答案 4 :(得分:0)

“该代码必须直接粘贴在web.config文件中<配置>标记之后。对我来说,其他任何地方都无法正常工作并生成错误消息。” 这些配置部分和“业务对象”节点必须是Web表单的web.config中的第一个节点