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

步骤:

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

      

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

   

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

  效果图如下:

  

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

  

//绑定开始
String sql=""
sql = "select * from 表名"
SqlConnection con=new Sqlconnection("数据连接字符串");
SqlDataApter da=new SqlDataApter(sql,con);
DataSet ds=new DataSet();
CrystalReport1  cry=new CrystalReport1 ();
con.Open()
da.Fill(ds, "dgv")
cry.SetDataSource(ds.Tables("dgv"))
CrystalReportViewer1.ReportSource = cry
//绑定结束
如果要实现打印功能,还需修改一下,以下是打印的功能:(这个打印功能不是CrystalReportViewer1里面自带的):
String sql="";
sql = "select * from Employee";
SqlClient.SqlConnection con=null;
SqlClient.SqlDataAdapter da=null;
DataSet ds=new DataSet();
con = New SqlClient.SqlConnection("Data Source=PC-201005072138;Initial Catalog=Company;Persist Security Info=True;User ID=sa;Password=ddddd");
con.Open();
da = New SqlClient.SqlDataAdapter(sql, con)
da.Fill(ds, "main")
//打印功能
PrintDocument  printDt = New PrintDocument();//打印文档对象
ReportDocument rd= New ReportDocument();//报表对象
rd.Load(Application.StartupPath + "\CrystalReport1.rpt");
//MessageBox.Show(Application.StartupPath + "\CrystalReport1.rpt");
rd.SetDatabaseLogon("sa", "ddddd");
rd.SetDataSource(ds);
String strDefaultPrinter= printDt.PrinterSettings.PrinterName;
rd.PrintOptions.PrinterName = strDefaultPrinter;
rd.PrintToPrinter(1, True, 0, 0);
//打印结束 
以上代码是个人在做的时候用的,如有什么地方错误的话,欢迎留言...我也是个新手,希望大家共同进步!
posted @ 2010-05-10 14:57  骑着猪赛跑  阅读(3892)  评论(0编辑  收藏  举报