第一次使用Xtra的第三方控件确实做的很好看~尝试使用了一下XtraReport控件的分组功能方法如下:添加一个名为XtraReport1的
报表
企业所得税申报表下载财务会计报表下载斯维尔报表下载外贸周报表下载关联申报表下载
作为主报表界面上Detail中放置主表显示内容的表格,再插入一个Subreport,在属性面板将其ReportSource属性设为子表的类名称PrivateSubXtraReport1_BeforePrint(ByValsenderAsSystem.Object,ByValeAsSystem.Drawing.Printing.PrintEventArgs)HandlesMyBase.BeforePrintDimconnAsNewSqlClient.SqlConnection("server=DBServer;UserID=sa;Password=sa;database=test;minpoolsize=4;maxpoolsize=4;packetsize=3072;timeout=900")conn.Open()DimstrSqlAsStringstrSql="selectwound_idaswoundid,encounter_idasusername"strSql="fromwound"DimdaAsNewSqlDataAdapter(strSql,conn)da.Fill(dsTest,"Test")Me.DataSource=dsTest.Tables(0)EndSubDetail加载事件,加载一行,向子表传递一次参数XrSubreport1为在主报表中添加的XrSubReportSubReport1为向工程中加入的另一报表作为子报表来使用在属性设置框中设定XrSubreport1的ReportSource为SubReport1但是subRpt=Me.XrSubreport1.ReportSource这句不能省,否则不能正确的显示子报表dsTest.Tables(0).Columns(0).ToString()为需要传入子报表的参数PrivateSubDetail_BeforePrint(ByValsenderAsSystem.Object,ByValeAsSystem.Drawing.Printing.PrintEventArgs)HandlesDetail.BeforePrintDimsubRptAsNewSubReport1()subRpt=Me.XrSubreport1.ReportSourcesubRpt.getDetail(GetCurrentColumnValue(dsTest.Tables(0).Columns(0).ToString()))EndSub在子表界面只保留Detail,放置显示内容的表格并在子报表的程序文件中添加getDetail方法PublicSubgetDetail(ByValstrWoundIdAsString)DimdsTestAsNewDataSet()DimconnAsNewSqlClient.SqlConnection("server=DBServer;UserID=sa;Password=sa;database=test;minpoolsize=4;maxpoolsize=4;packetsize=3072;timeout=900")conn.Open()DimstrSql2AsStringstrSql2="selectWOUND_ID,WOUND_CONTENT_ID,WOUND_GRADE,EXUDATE_QUALITY"strSql2="fromwound_record"strSql2="whereWOUND_ID="&strWoundIdDimda2AsNewSqlDataAdapter(strSql2,conn)da2.Fill(dsTest,"Report2")Me.DataSource=dsTest.Tables(0)conn.Close()EndSub这样就可以啦~然后拉一个窗体run一下主报表就可以看到我们做的主子报表DimtestReportAsNewXtraReport1()testReport.ShowPreview()并没有完全按照xtra所给例程的方法