欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

.NET 使用 水晶报表

程序员文章站 2022-05-22 08:51:49
...

需要的命名空间 using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Web; using CrystalDecisions.Shared; ---------------------------------------------------- 建一个数据集文件 *.xsd -------------------------------------------

需要的命名空间

using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Web;
using CrystalDecisions.Shared;

----------------------------------------------------

建一个数据集文件

*.xsd

-----------------------------------------------------

在页面中加一个报表查看控件

CrystalReportViewer

--------------------------------------------------------

后台代码

dsJob dsjob = new dsJob();

SqlConnection scn = new SqlConnection("server=.;uid=sa;pwd=111111;database=pubs;");
scn.Open();

SqlDataAdapter sda = new SqlDataAdapter("select * from jobs", scn);
DataSet ds = new DataSet();
sda.Fill(ds);

if (ds != null && ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
DataRow drjob = dsjob.Tables[0].NewRow();

drjob["job_id"] = dr["job_id"];
drjob["job_desc"] = dr["job_desc"];

dsjob.Tables[0].Rows.Add(drjob);
}
}

CrystalReportSource crysource = new CrystalReportSource();
crysource.ReportDocument.Load(Server.MapPath("CryPort.rpt"));

//给水晶报表上的文本控件赋值

TextObject textobj = (TextObject)crysource.ReportDocument.ReportDefinition.ReportObjects["Text3"];
textobj.Text = "chen ping";

crysource.ReportDocument.SetDataSource(dsjob);
crysource.DataBind();

cryview.ReportSource = crysource;
cryview.DataBind();

//给报表上的 text 控件赋值

TextObject txtname = (TextObject)crysource.ReportDocument.ReportDefinition.ReportObjects["控件Name"];
txtname.Text = "";