C#实现水晶报表绑定数据并实现打印

步骤:

1.新建一个数据集,然后将数据库里面的表托放到DataSet2.xsd里面

      

  2.新建一个水晶报表,根据向导完成水晶报表的制作,效果图如下:

   

  3.新建一个WINDOWS窗体,并在窗体里面放置一个CrystalReportViewer控件,单击右上角的小三角行,然后选择需要显示的报表,并设置报表的路径,

  效果图如下:

  

  4.接下来是后台代码的绑定了:

01 //绑定开始
02 String sql=""
03 sql = "select * from 表名"
04 SqlConnection con=new Sqlconnection("数据连接字符串");
05 SqlDataApter da=new SqlDataApter(sql,con);
06 DataSet ds=new DataSet();
07 CrystalReport1  cry=new CrystalReport1 ();
08 con.Open()
09 da.Fill(ds, "dgv")
10 cry.SetDataSource(ds.Tables("dgv"))
11 CrystalReportViewer1.ReportSource = cry
12 //绑定结束
13 如果要实现打印功能,还需修改一下,以下是打印的功能:(这个打印功能不是CrystalReportViewer1里面自带的):
 
 
01 <PRE class=csharp>String sql="";
02 sql = "select * from Employee";
03 SqlClient.SqlConnection con=null;
04 SqlClient.SqlDataAdapter da=null;
05 DataSet ds=new DataSet();
06 con = New SqlClient.SqlConnection("Data Source=PC-201005072138;Initial Catalog=Company;Persist Security Info=True;User ID=sa;Password=ddddd");
07 con.Open();
08 da = New SqlClient.SqlDataAdapter(sql, con)
09 da.Fill(ds, "main")
10 //打印功能
11 PrintDocument  printDt = New PrintDocument();//打印文档对象
12 ReportDocument rd= New ReportDocument();//报表对象
13 rd.Load(Application.StartupPath + "\CrystalReport1.rpt");
14 //MessageBox.Show(Application.StartupPath + "\CrystalReport1.rpt");
15 rd.SetDatabaseLogon("sa", "ddddd");
16 rd.SetDataSource(ds);
17 String strDefaultPrinter= printDt.PrinterSettings.PrinterName;
18 rd.PrintOptions.PrinterName = strDefaultPrinter;
19 rd.PrintToPrinter(1, True, 0, 0);
20 //打印结束 </PRE>
21 <PRE class=csharp>以上代码是个人在做的时候用的,如有什么地方错误的话,欢迎留言...
原文地址:https://www.cnblogs.com/yongheng178/p/1778268.html