.NET環境下水晶報表使用總結

 

Dim dsdataSet As New DataSet()

Dim oRpt As New rptClient()   '已建立的報表rptClient

請讀者自行填充數據集dsdataSet

'使用“報表引擎”對象模型將填充的數據集,傳遞給報表

oRpt.SetDataSource(dsdataSet.Tables(0))

' 將帶有數據的報表對象綁定到 Windows 窗體查看器,rptVew(CrystalReportViewer控件)

rptVew.ReportSource = oRpt



注意   FillDataSet 方法可連接到指定的數據庫,提取數據,然後斷開數據庫連接。如果您希望將數據庫中的多個表添加到報表中,請使用 SQL JOIN 語句將這些表聯接在一起;然後在 FillDataSet 方法中指定一個結果表

六、創建主從報表

在報表中,有許多報表是主從表結構,比如訂單與訂單商品明細,訂單是一個表中的一條記錄,而分錄是另一個表中的多條記錄,兩個表通過一個字段關聯起來,這種報表可利用其分組功能實現,

1.      新建一個工程

2.      往FORM1中添加一個CrystalReportViewer控件

3.      在服務噐資源管理器中連接到SQL SERVER 2000上的Northwind數據庫

4.      添加一個數據集Dataset1,將服務器資源管理器中的Orders和 Order Details加入到數據集中。

5.      添加一個水晶報表,使用報表專家,在項目數據中選擇“ADO.NET數據集”,插入表Orders和 Order Details,“鏈接”中是關聯字段的鏈接,在“字段”中選擇要顯示的主表和明細表的字段,組中選擇分組依據爲Orders表OrdersID字段,總計,圖表,選擇(可進行篩選),樣式(可設置報表標題),可自行設置。設置完後,點擊完成。

6.      在報表設計器中調整需要顯示的字段的位置、寬度等。

7.      在窗口中添加代碼。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

 Dim oRpt As New CrystalReport1()

 Dim dsdataSet As New Dataset1()

 Dim CN As New Data.SqlClient.SqlConnection("data source=PMSERVER;initial catalog=Northwind;user id=sa;password=sa")

 CN.Open()

 Dim daOrders As New Data.SqlClient.SqlDataAdapter("select * from orders", CN)

 daOrders.Fill(dsdataSet, "orders")

 Dim daDetails As New Data.SqlClient.SqlDataAdapter("select * from [Order Details]", CN)

 daDetails.Fill(dsdataSet, "Order Details")

 '使用“報表引擎”對象模型將填充的數據集,傳遞給報表

 oRpt.SetDataSource(dsdataSet)

 CrystalReportViewer1.ReportSource = oRpt

End Sub

8、運行程序

七、用程序改變報表中text的文本

代碼如下:

Dim GetTextObject As TextObject

' 按名稱獲取 ReportObject,將其轉換爲 TextObject,並返回此對象。

GetTextObject = orpt.ReportDefinition.ReportObjects.Item("text13")

GetTextObject.Text = "XXXX系統"


總結:水晶報表具有非常強大的功能,還可進行導出WORD、EXCEL、RTF等文件,還可生成複雜、漂亮圖表,是進行WEB和WINDOWS報表開發的利器。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章