一、在使用自带的水晶报表时,请注册,否则只能使用30次
水晶报表注册码
注册号:6707437608
密码:AAP5GKS0000GDE100DS
二、实战
准备知识:DataSet作为水晶表的数据源只是一个框架结构,做完了水晶表以后,它就没有用了.做水晶表时的dataset,跟以后的fill的dataset的路径之类可以不同,当然最好是一致.特别是水晶表中要使用的字段.
一句话,那dataset只是水晶表的一个框架而已.
编程:
有了上面的准备知识,就知道该如何办了,水晶表跟dataset的fill分开,最后捆绑在一起就行了.
BindReport()
{
//不管用什么方式,只要能fill,dataset就行
string strProvider = "Server=(local);DataBase=pubs;UID=sa;PWD=";
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSel = "Select * from Stores";
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);
Dataset1 ds = new Dataset1();//这个DataSet1在结构上最好跟水晶表的一致,
//路径可以不同
MyAdapter.Fill(ds,"stores");//"stores"应该跟水晶表中指定的dataset的表名一样
//这里可以有两种方式;"Strongly Typed"的报表文件和"UnTyped"报表.两种不能同时用,只能取其一.
cr水晶报表名 oCR =new cr水晶报表名();//第一种
ReportDocument oCR = new ReportDocument();//第二种
oCR.Load("cr水晶报表名.rpt")
oCR.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource = oCR;
}