原創|其它|編輯:郝浩|2012-09-04 15:37:23.000|閱讀 4469 次
概述:對于xtrareport的分組功能進行了詳細的探討,對于希望深入了解xtrareport的人群有很大的幫助。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
轉自csdn 作者cathy_girl
第一次使用Xtra的第三方控件
確實做的很好看~
嘗試使用了一下XtraReport控件的分組功能
方法如下:
添加一個名為XtraReport1的報表作為主報表
界面上Detail中放置主表顯示內容的表格,再插入一個Subreport,在屬性面板將其ReportSource屬性設為子表的類名稱
1. Private Sub XtraReport1_BeforePrint(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles MyBase.BeforePrint
2.
3. Dim conn As New SqlClient.SqlConnection("server=DBServer;User ID=sa;Password=sa;database=test;min pool size=4;max pool size=4;packet size=3072;timeout=900")
4.
5. conn.Open()
6.
7. Dim strSql As String
8. strSql = "select wound_id as woundid,encounter_id as username "
9. strSql += "from wound "
10.
11.
12. Dim da As New SqlDataAdapter(strSql, conn)
13. da.Fill(dsTest, "Test")
14.
15. Me.DataSource = dsTest.Tables(0)
16. End Sub
Detail加載事件,加載一行,向子表傳遞一次參數
XrSubreport1為在主報表中添加的XrSubReport
SubReport1為向工程中加入的另一報表作為子報表來使用
在屬性設置框中設定XrSubreport1的ReportSource為SubReport1
但是subRpt = Me.XrSubreport1.ReportSource這句不能省,否則不能正確的顯示子報表
dsTest.Tables(0).Columns(0).ToString()為需要傳入子報表的參數
1. Private Sub Detail_BeforePrint(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles Detail.BeforePrint
2. Dim subRpt As New SubReport1()
3. subRpt = Me.XrSubreport1.ReportSource
4. subRpt.getDetail(GetCurrentColumnValue(dsTest.Tables(0).Columns(0).ToString()))
5. End Sub
在子表界面只保留Detail,放置顯示內容的表格
并在子報表的程序文件中添加getDetail方法
1. Public Sub getDetail(ByVal strWoundId As String)
2. Dim dsTest As New DataSet()
3. Dim conn As New SqlClient.SqlConnection("server=DBServer;User ID=sa;Password=sa;database=test;min pool size=4;max pool size=4;packet size=3072;timeout=900")
4.
5. conn.Open()
6.
7. Dim strSql2 As String
8. strSql2 = "select WOUND_ID,WOUND_CONTENT_ID,WOUND_GRADE,EXUDATE_QUALITY "
9. strSql2 += "from wound_record "
10. strSql2 += "where WOUND_ID=" & strWoundId
11. Dim da2 As New SqlDataAdapter(strSql2, conn)
12. da2.Fill(dsTest, "Report2")
13. Me.DataSource = dsTest.Tables(0)
14. conn.Close()
15.
16. End Sub
這樣就可以啦~
然后拉一個窗體run一下主報表就可以看到我們做的主子報表
Dim testReport As New XtraReport1()
testReport.ShowPreview()
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:轉載