『水晶報表』使用 水晶報表 實現打印


在我們開發各種工具軟件的時候,我們不可避免的會遇到打印的問題。而使用.NET開發打印功能,水晶報表或許會是一個十分不象錯的選擇!

一般步驟:

  1. 准備好想要打印的數據源;
  2. 制作用於規定打印結果樣式的模板文件(.rpt);
  3. 創建用於打印的執行窗口Form1,並在其中放置一個CrystalReportViewer  (第三方控件,來自SAP)
  4. 創建打印按鍵所在的Form2;
  5. 獲取系統所能使用的打印機;
  6. 設置使用的打印機,及打印相關參數;
  7. 使用Form2調用Form1完成打印。

 

水晶報表的一般概念

水晶報表的兩種模式:

  1. 拉 PULL:設置好數據連接之后,使用水晶報表文件中所使用的獲得數據的方式,由水晶報表自己解決數據獲取操作。
  2. 推 PUSH:使用DataSet裝載數據,然后填充到水晶報表中,再按照水晶報表的格式來展示。

 

相關控件:

  1. CrystalReportViewer    「數據展示者」「ASP.NET & WinForm」
  2. CrystalReportSource   「數據提供者」「ASP.NET」
  3. CrystalReport                「數據提供者」「WinForm」

 

命名空間:

  1. CrystalDecisions.Shared
  2. CrystalDecisions.CrystalReports.Engine

 

相關成員:

類名 成員名 描述
CrystalReport Load 加載水晶報表(.rpt)文件
  SetDatabaseLogon 設置數據庫連接,PULL中會用到
  SetParameterValue 設置報表值
     
CrystalReportViewer ReportSource 設置報表數據源
  DataBind 綁定數據源
     
CrystalReportSource ReportDocument.Load 加載水晶報表(.rpt)文件,Server.MapPath("*********.rpt")
  ReportDocument.SetDatabaseLogon 設置數據庫連接,PULL中會用到
  ReportDocument.SetParameterValue 設置報表值
     

 

具體實現

打印模板文件樣式

image

Form2樣式

image

Form2

Form1

注意:

  1. 在使用VS2010配合水晶報表時,需要更改工程的目標框架為「.NET Framework 4」不然會出現錯誤。
  2. 我在使用的時候,不知道是不是我個人機器的原因,一真會提示有一個文件在「dotnet1」下找不到,之后我到它的上級目錄拷貝了相關的文件過去就好了~

 

參考網摘:

  1. C#水晶報表教程
  2. C#實現打印功能


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM