我用vs自带的水晶报表做了一个报表report1,然后我在Webform1中调放入一个控件CrystalReportViewer,想将它显示出来,代码如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
namespace shili
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;
   report1 rt=new report1();
private void Page_Load(object sender, System.EventArgs e)
{
CrystalReportViewer1.ReportSource=rt;
}但运行时却出现了这样一个问题:
“/Office/aa”应用程序中的服务器错误。
--------------------------------------------------------------------------------无法找到清单资源中的报告。请创建项目并再次尝试。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: CrystalDecisions.CrystalReports.Engine.InternalException: 无法找到清单资源中的报告。请创建项目并再次尝试。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
[InternalException: 无法找到清单资源中的报告。请创建项目并再次尝试。]
   CrystalDecisions.Web.ReportAgentBase.m() +278
   CrystalDecisions.Web.ReportAgent.get_RequestContext() +10
   CrystalDecisions.Web.ReportAgent.get_() +4
   CrystalDecisions.Web.ReportAgent.{(Boolean C) +81
   CrystalDecisions.Web.CrystalReportViewer.OnPreRender(EventArgs e) +143
   System.Web.UI.Control.PreRenderRecursiveInternal() +62
   System.Web.UI.Control.PreRenderRecursiveInternal() +125
   System.Web.UI.Control.PreRenderRecursiveInternal() +125
   System.Web.UI.Page.ProcessRequestMain() +1489 

解决方案 »

  1.   

    string conn = ConfigurationSettings.AppSettings["dsn"];
    SqlConnection cn = new SqlConnection(conn);
    cn.Open();

    CRfzr oCR = new CRfzr();//报表名称
    DataCorpInfo ds= new DataCorpInfo();//数据集

    string str = "SELECT * FROM b_CorpManagerTable ";
    SqlDataAdapter MyAdapter = new SqlDataAdapter(str,cn); 
    MyAdapter.Fill(ds,"b_CorpManagerTable");oCR.SetDataSource(ds);
    CrystalReportViewer1.ReportSource = oCR;
    cn.Close(); 至少要指定这些,水晶报表才能正常显示啊,
      

  2.   

    我用的是push,建一个数据集,将数据推给rpt文件。
      

  3.   

    report1 rt=new report1();
    ---->
    CrystalDecisions.CrystalReports.Engine.ReportDocument rt=new report1();
      

  4.   


    将下面的代码放到Page_Load里面
    DataSet ds=new DataSet();

    SqlDataAdapter sqlSel=new SqlDataAdapter("select * from tablename",this.sqlConnection1); 
    sqlSel.Fill(ds,"tablename"); CrGwdzx Report=new CrGwdzx(); Report.SetDataSource(ds);Report.Refresh(); 
    CrystalReportViewer1.ReportSource =Report;
    CrystalReportViewer1.DataBind();
      

  5.   

    不行呀,你们的方法我都试过了,它还是显示那样的错误,我现在的代码改为:
    protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;
      string DSN;
    SqlConnection conn;
    CrystalReport1 Report=new CrystalReport1();
    private void Page_Load(object sender, System.EventArgs e)
    {

    DSN=ConfigurationSettings.AppSettings["dsn"];
    conn=new SqlConnection(DSN);
    conn.Open();
    DataSet ds=new DataSet();

    SqlDataAdapter sqlSel=new SqlDataAdapter("select * from users",conn); 
    sqlSel.Fill(ds,"users"); Report.SetDataSource(ds); Report.Refresh(); 
    CrystalReportViewer1.ReportSource =Report;
    CrystalReportViewer1.DataBind();
    我的报表是用VS自带的建的,建报表时我是建空白图表,还是在报表中将数据填进去