報告生成器FastReport .NET實(shí)踐指南:使用代碼VB.Net創(chuàng)建一個新報告
報表生成器FastReport .NET是適用于.NET Core 3,ASP.NET,MVC和Windows窗體的全功能報告庫。使用FastReport .NET,您可以創(chuàng)建獨(dú)立于應(yīng)用程序的.NET報告。
近日,F(xiàn)astReport .Net升級到v2020.4版,在此版本中,添加了新的條形碼:ITF-14和Deutsce Post Identcode,同時優(yōu)化了多種性能(點(diǎn)擊下方按鈕下載),感興趣的朋友可點(diǎn)擊下方按鈕下載最新版。
Fastreport在線下單立享85折起!趕緊加入購物清單吧!
說到.Net框架,我們通常會想到#C編程語言。僅僅是因?yàn)镃#程序員的人數(shù)眾多。但是我們也不應(yīng)忘記其他語言。例如,來自Stimulsoft的報告生成器的用戶希望使用VB.Net語言的應(yīng)用程序代碼創(chuàng)建報告:
“目前,我只是在測試,我想使用VB中的代碼創(chuàng)建一個報告。 目前,我試圖顯示一份我在VB中編寫的標(biāo)題的報告。但不向我顯示W(wǎng)eb應(yīng)用程序中的任何內(nèi)容。
您能否給我一些指導(dǎo),以指導(dǎo)如何從VB設(shè)計(jì)報告并顯示出來? 或者,如果我省略任何指示或?qū)ο髞磉M(jìn)行報告?”
像允許您從代碼創(chuàng)建報告的任何其他報告生成器一樣,可以從VB.Net語言的代碼中使用Stimulsoft Reports.Net。開發(fā)人員已向用戶解釋了如何執(zhí)行此操作。
但是,當(dāng)考慮使用FastReport.Net的某些情況時,實(shí)際上我們看不到VB.Net語言中的任何示例。這就是為什么我們要更正本文,并向您展示一個示例,該示例使用VB.Net語言從用戶應(yīng)用程序的代碼創(chuàng)建報告。
實(shí)際上,它只是C#代碼的一種解釋:
Dim AppFolder As String Dim report As New Report() 'create instance of class Report Dim ds As New DataSet() 'create dataset object AppFolder = "C:\Users\User\source\repos\VBCodeReport\VBCodeReport\App_Data" 'load data ds.ReadXml(AppFolder + "\nwind.xml") report.RegisterData(ds) report.GetDataSource("Products").Enabled = True 'create report page Dim page As New ReportPage() report.Pages.Add(page) 'add created page to report page collection page.CreateUniqueName() 'with generated name 'create group header band Dim group As New GroupHeaderBand() page.Bands.Add(group) 'add the band to band collection group.CreateUniqueName() 'with generated name group.Height = Units.Centimeters * 1 group.Condition = "[Products.ProductName].Substring(0,1)" 'set the group condition group.SortOrder = FastReport.SortOrder.Ascending 'and set sort order 'create text object Dim groupTxt As New TextObject() groupTxt.Parent = group 'set the object on whitch the text will be shown groupTxt.CreateUniqueName() groupTxt.Bounds = New RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 1) 'set the text object bounds groupTxt.Text = "[[Products.ProductName].Substring(0,1)]" 'set the text value groupTxt.Font = New Font("Arial", 14, FontStyle.Bold) 'set the font style groupTxt.VertAlign = VertAlign.Center ' set the text align groupTxt.Fill = New LinearGradientFill(Color.LightGoldenrodYellow, Color.Gold, 90, 0.5F, 1) 'set the text object fill 'create data band Dim data As New DataBand() group.Data = data 'set the group data data.CreateUniqueName() data.DataSource = report.GetDataSource("Products") 'set data band source data.Height = Units.Centimeters * 0.5F 'set data band height 'create one more text object Dim productText As New TextObject() productText.Parent = data 'add the text object to data band productText.CreateUniqueName() productText.Bounds = New RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 0.5F) 'set the text object bounds productText.Text = "[Products.ProductName]" 'set the text value 'create group footer band group.GroupFooter = New GroupFooterBand() group.GroupFooter.CreateUniqueName() group.GroupFooter.Height = Units.Centimeters * 1 'set the group footer height 'create total object Dim groupTotal As New Total() groupTotal.Name = "TotalRows" 'set total object name groupTotal.TotalType = TotalType.Count 'set total type groupTotal.Evaluator = data 'set the band for which the total will be calculated groupTotal.PrintOn = group.GroupFooter 'set the total place report.Dictionary.Totals.Add(groupTotal) 'add the total object to totals collection 'create text object Dim totalText As New TextObject() totalText.Parent = group.GroupFooter 'set the object on whitch the text will be shown totalText.CreateUniqueName() totalText.Bounds = New RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 0.5F) 'set the text object bounds totalText.Text = "Rows: [TotalRows]" 'set the text value totalText.HorzAlign = HorzAlign.Right 'set the text align totalText.Border.Lines = BorderLines.Top 'set the border lines type report.Show() 'show report從代碼和注釋中可以清楚地看到,創(chuàng)建了帶有數(shù)據(jù)分組的報告。但是,此示例顯示了簡單報表中使用最頻繁的對象的工作。請注意,創(chuàng)建報告對象還不夠,您仍然需要將其“放置”在要顯示它的對象上。這是從代碼正確創(chuàng)建報告的關(guān)鍵。
雖然FastReport Open Source是非常強(qiáng)大的,但仍然有許多限制,你可以點(diǎn)擊下方鏈接查看具體差異。
【功能對比】報表開發(fā)工具FastReport Open Source和FastReport .NET都有哪些差異和限制
FastReport Open Source與FastReport .Net間的功能差異還是非常明顯的,如果您是企業(yè)用戶或是需要更完整的功能,建議您直接購買FastReport .Net,盛夏狂歡,在線下單立享85折起!點(diǎn)擊查看優(yōu)惠價格,或咨詢在線客服了解詳情。