翻譯|使用教程|編輯:李顯亮|2021-09-17 11:00:00.977|閱讀 162 次
概述:此示例說明如何使用代碼中的 Business Objects 集合創建報告。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Stimulsoft Ultimate是用于創建報表和儀表板的通用工具集。該產品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他環境的完整工具集。
Stimulsoft Reports不僅擁有強大的報表導出系統,而且還支持多種報表導出格式,擁有簡單且強大的報表引擎。Stimulsoft Reports基本原則是,用簡單常規的方法創建報表,將不同的技術應用于應用程序。Stimulsoft Reports ..NET一個基于.NET框架的報表生成器,能夠幫助你創建結構、功能豐富的報表。不僅界面友好,而且使用便捷,能夠讓你輕松創建所有報表。
點擊下載Stimulsoft Reports .NET v2021.3.1最新版
此示例說明如何使用代碼中的 Business Objects 集合創建報告。Business Objects 是一個對象類數據,數據可以用不同的結構呈現:表格、列表、數組等。該FillBusinessObject()方法創建并填充數據集合:
private ArrayList list = null; private void FillBusinessObject() { list = new ArrayList(); list.Add(new BusinessEntity("name1", "alias1")); list.Add(new BusinessEntity("name2", "alias2")); list.Add(new BusinessEntity("name3", "alias3")); }
數據已創建,現在您需要顯示它。首先,您應該在字典中創建一個新的報表和數據結構,將數據從 Business Object 傳輸到字典:
private void PrintDataGrid(DataGrid sender) { StiReport report = new StiReport(); report.ScriptLanguage = StiReportLanguageType.CSharp; // Add data to datastore report.RegData("MyList", list); // Fill dictionary report.Dictionary.Synchronize(); StiPage page = report.Pages.Items[0]; ...
然后您需要將組件添加到報告模板中。您應該創建帶 Header、Data 和 Footer。這些帶用于放置帶有文本或對業務對象字段的引用的文本框:
... // Create HeaderBand StiHeaderBand headerBand = new StiHeaderBand(); headerBand.Name = "HeaderBand"; page.Components.Add(headerBand); // Create Databand StiDataBand dataBand = new StiDataBand(); dataBand.DataSourceName = "MyList"; dataBand.Height = 0.5f; dataBand.Name = "DataBand"; page.Components.Add(dataBand); StiDataSource dataSource = report.Dictionary.DataSources[0]; // Create texts Double pos = 0; Double columnWidth = StiAlignValue.AlignToMinGrid(page.Width / dataSource.Columns.Count, 0.1, true); int nameIndex = 1; foreach (StiDataColumn column in dataSource.Columns) { if (column.Name == "_ID" || column.Name == "_Current") continue; // Create text on header StiText headerText = new StiText(new RectangleD(pos, 0, columnWidth, 0.5f)); headerText.Text.Value = column.Name; headerText.HorAlignment = StiTextHorAlignment.Center; headerText.Name = "HeaderText" + nameIndex.ToString(); headerText.Brush = new StiSolidBrush(Color.MediumSeaGreen); headerText.Border.Side = StiBorderSides.All; headerBand.Components.Add(headerText); // Create text on Data Band StiText dataText = new StiText(new RectangleD(pos, 0, columnWidth, 0.5f)); dataText.Text.Value = "{MyList." + column.Name + "}"; dataText.Name = "DataText" + nameIndex.ToString(); dataText.Border.Side = StiBorderSides.All; dataBand.Components.Add(dataText); pos += columnWidth; nameIndex ++; } // Create FooterBand StiFooterBand footerBand = new StiFooterBand(); footerBand.Height = 0.5f; footerBand.Name = "FooterBand"; page.Components.Add(footerBand); // Create text on footer StiText footerText = new StiText(new RectangleD(0, 0, page.Width, 0.5f)); footerText.Text.Value = "Count - {Count()}"; footerText.HorAlignment = StiTextHorAlignment.Right; footerText.Name = "FooterText"; footerText.Brush = new StiSolidBrush(Color.LightGreen); footerBand.Components.Add(footerText); ...
在此之后,您可以呈現報告并將其顯示在查看器中(或調用報告設計器):
... // Render without progress bar report.Render(false); report.Show(); // For checking created report you can uncomment this line //report.Design(); }
在下面的屏幕截圖中,您可以看到示例代碼的結果:
Aspose、E-iceblue、FastReport、Stimulsoft等文檔/報表圖表類開發工具享超低折扣,如有需要可直接。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn