前台:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Crystal.aspx.cs" Inherits="Crystal" %><%@ Register Assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
    Namespace="CrystalDecisions.Web" TagPrefix="CR" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <link href="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer3/css/default.css"
        rel="stylesheet" type="text/css" />
    <link href="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer3/css/default.css"
        rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />
        <CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
        </CR:CrystalReportSource>
        
    </div>
    </form>
</body>
</html>
后台:  string sql = "Select * from Crystal";
            string DBConfig_sql = @"Data Source=192.168.0.119;Initial Catalog=EasepalOA;User ID=sa;Password=cytchen";
            DataSet ds = new DataSet();
            SqlConnection sqlCon = new SqlConnection(DBConfig_sql);
            SqlCommand sqlCmd = new SqlCommand(sql, sqlCon);
            SqlDataAdapter sqlAd = new SqlDataAdapter();
            sqlAd.SelectCommand = sqlCmd;
            sqlAd.Fill(ds, "sql");
                     CrystalReportSource1.ReportDocument.Load(Server.MapPath("CrystalReport.rpt"));            CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables[0]);
            CrystalReportSource1.ReportDocument.ParameterFields["value"].CurrentValues.AddValue("这时推模式的报表样例!");
            CrystalReportSource1.DataBind();            CrystalReportViewer1.ReportSource = CrystalReportSource1;
            CrystalReportViewer1.DataBind();提示错误:CrystalDecisions.CrystalReports.Engine.DataSourceException: 该报表不包含表。请各位大虾帮忙下。感谢!

解决方案 »

  1.   

    命名空间包含错了
    using System.Data.SqlClient;
    using System.Collections;
    using CrystalDecisions.Shared;
    using CrystalDecisions.ReportSource;
    using CrystalDecisions.CrystalReports.Engine;
    在原有基础上加上这几个就OK了 ,第一个是支持数据库操作的不用多说,第二个包含数据集等,后三个是水晶报表所需的命名空间. 修改之后生成一下试试
      

  2.   

    CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables[0]);这一句ds.Tables[0]
    部分改为
    ds.Tables["tablename"]tablename,是你报表模板数据源的表名
      

  3.   

    CrystalReport.rpt 里面有链接数据库或者xsd做的吗?
    还是个空白的白板?报表模板首先要链接上数据源,才能做后续的动作,不是把数据集塞过去就能直接显示的
      

  4.   

    你的水晶报表是不是就是空的(只有一个参数)
    //CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables[0]);
    //..DataBind();
    //可以去掉或者你可以先建立个数据集,设里面有个表sql(和你上面sqlAd.Fill(ds, "sql");对应)
    随便把数据集的字段拖过几个试试
      

  5.   

    我现在有数据了。可是又有问题:
    我做了一个水晶报表,数据库的表crar的一个字段:tt
    现在有值:20,20,40,60,80
    现在的柱型图默认是按照出现的比率显示的。就是20最高,其他的一样高。
    我想把效果改成按照值显示,就是让80最高,20最低。不知道怎么做。