繁体   English   中英

水晶报告显示空白页

[英]Crystal Report showing blank page

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

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

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

  1. 创建了一个DataSet。
  2. 在我的Web项目中添加了Crystal Report。
  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 \\ 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>

代码必须在web.config文件中的<configuration>标记之后粘贴。 对我来说,任何其他地方都没有工作,并生成错误信息。

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

我有同样的问题然后我解决它如下:
1.将crystalreportviewers13 foler从C:\\ inetpub \\ wwwroot \\ aspnet_client \\ system_web \\ 4_0_30319复制到项目文件夹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>

祝好运。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM