前台:<%@ 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: 该报表不包含表。请各位大虾帮忙下。感谢!
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: 该报表不包含表。请各位大虾帮忙下。感谢!
using System.Data.SqlClient;
using System.Collections;
using CrystalDecisions.Shared;
using CrystalDecisions.ReportSource;
using CrystalDecisions.CrystalReports.Engine;
在原有基础上加上这几个就OK了 ,第一个是支持数据库操作的不用多说,第二个包含数据集等,后三个是水晶报表所需的命名空间. 修改之后生成一下试试
部分改为
ds.Tables["tablename"]tablename,是你报表模板数据源的表名
还是个空白的白板?报表模板首先要链接上数据源,才能做后续的动作,不是把数据集塞过去就能直接显示的
//CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables[0]);
//..DataBind();
//可以去掉或者你可以先建立个数据集,设里面有个表sql(和你上面sqlAd.Fill(ds, "sql");对应)
随便把数据集的字段拖过几个试试
我做了一个水晶报表,数据库的表crar的一个字段:tt
现在有值:20,20,40,60,80
现在的柱型图默认是按照出现的比率显示的。就是20最高,其他的一样高。
我想把效果改成按照值显示,就是让80最高,20最低。不知道怎么做。