翻譯|使用教程|編輯:張瑩心|2021-09-18 11:47:04.650|閱讀 175 次
概述:此示例展示了如何通過代碼創(chuàng)建帶有交叉表組件的報表。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Stimulsoft Ultimate是用于創(chuàng)建報表和儀表板的通用工具集。該產(chǎn)品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他環(huán)境的完整工具集。
Stimulsoft Reports不僅擁有強(qiáng)大的報表導(dǎo)出系統(tǒng),而且還支持多種報表導(dǎo)出格式,擁有簡單且強(qiáng)大的報表引擎。Stimulsoft Reports基本原則是,用簡單常規(guī)的方法創(chuàng)建報表,將不同的技術(shù)應(yīng)用于應(yīng)用程序。Stimulsoft Reports .NET一個基于.NET框架的報表生成器,能夠幫助你創(chuàng)建結(jié)構(gòu)、功能豐富的報表。不僅界面友好,而且使用便捷,能夠讓你輕松創(chuàng)建所有報表。
點擊下載Stimulsoft Reports .NET v2021.3.1最新版
此示例展示了如何通過代碼創(chuàng)建帶有交叉表組件的報表。Сross-Tab 是一種商業(yè)分析工具。這是一個特殊的組件,用于處理、分組和匯總來自數(shù)據(jù)源的數(shù)據(jù)。結(jié)果以表格的形式呈現(xiàn)。要從代碼創(chuàng)建交叉表,您需要創(chuàng)建一個主要的交叉表組件:
#region CrossTab Stimulsoft.Report.CrossTab.StiCrossTab crossTab1 = new Stimulsoft.Report.CrossTab.StiCrossTab(); crossTab1.ClientRectangle = new Stimulsoft.Base.Drawing.RectangleD(1.8, 4.6, 14.6, 13); crossTab1.DataSourceName = "Categories";crossTab1.Name = "CrossTab1"; ...交叉表是一組由行和列組成的單元格。此外,交叉表組件具有每行和每列的總單元格和總和。現(xiàn)在將行、列和總單元格添加到創(chuàng)建的交叉表組件:
... Stimulsoft.Report.CrossTab.StiCrossRowTotal crossTab1_RowTotal1 = new Stimulsoft.Report.CrossTab.StiCrossRowTotal(); crossTab1_RowTotal1.Guid = "416a93a6cbff4f24929c07006f5f4c21"; crossTab1_RowTotal1.Name = "CrossTab1_RowTotal1"; crossTab1_RowTotal1.Text.Value = "Total"; Stimulsoft.Report.CrossTab.StiCrossTitle crossTab1_Row1_Title = new Stimulsoft.Report.CrossTab.StiCrossTitle(); crossTab1_Row1_Title.Name = "CrossTab1_Row1_Title"; crossTab1_Row1_Title.TypeOfComponent = "Row:CrossTab1_Row1"; crossTab1_Row1_Title.Text.Value = "CategoryID"; Stimulsoft.Report.CrossTab.StiCrossColumnTotal crossTab1_ColTotal1 = new Stimulsoft.Report.CrossTab.StiCrossColumnTotal(); crossTab1_ColTotal1.Guid = "9e5a67edfe87448e96ebcf75e4ef19c4"; crossTab1_ColTotal1.Name = "CrossTab1_ColTotal1"; crossTab1_ColTotal1.Text.Value = "Total"; ...交叉表中顯示的值和總計的值可能不同。可以使用該DisplayValue.Value屬性設(shè)置要在單元格中顯示的值。可以使用該Row1.Value.Value屬性設(shè)置將要匯總的值。還需要為左右交叉表列設(shè)置標(biāo)題。讓我們定義交叉表的數(shù)據(jù)列和標(biāo)題:
... Stimulsoft.Report.CrossTab.StiCrossTitle crossTab1_LeftTitle = new Stimulsoft.Report.CrossTab.StiCrossTitle(); crossTab1_LeftTitle.Guid = "a4a019be008042c9a4c4b604e041ceba"; crossTab1_LeftTitle.Name = "CrossTab1_LeftTitle"; crossTab1_LeftTitle.TypeOfComponent = "LeftTitle"; crossTab1_LeftTitle.Text.Value = "Categories"; Stimulsoft.Report.CrossTab.StiCrossRow crossTab1_Row1 = new Stimulsoft.Report.CrossTab.StiCrossRow(); crossTab1_Row1.Alias = "CategoryID"; crossTab1_Row1.Guid = "7f0d8b9785504d009e6afe47f70a74d3"; crossTab1_Row1.Name = "CrossTab1_Row1"; crossTab1_Row1.TotalGuid = "416a93a6cbff4f24929c07006f5f4c21"; crossTab1_Row1.DisplayValue.Value = "{Categories.CategoryID}"; crossTab1_Row1.Value.Value = "{Categories.CategoryID}"; Stimulsoft.Report.CrossTab.StiCrossColumn crossTab1_Column1 = new Stimulsoft.Report.CrossTab.StiCrossColumn(); crossTab1_Column1.Alias = "CategoryName"; crossTab1_Column1.Guid = "fc86b73eb9694091b62b55fce6041715"; crossTab1_Column1.Name = "CrossTab1_Column1"; crossTab1_Column1.TotalGuid = "9e5a67edfe87448e96ebcf75e4ef19c4"; crossTab1_Column1.DisplayValue.Value = "{Categories.CategoryName}"; crossTab1_Column1.Value.Value = "{Categories.CategoryName}"; Stimulsoft.Report.CrossTab.StiCrossSummary crossTab1_Sum1 = new Stimulsoft.Report.CrossTab.StiCrossSummary(); crossTab1_Sum1.Alias = "Description"; crossTab1_Sum1.Guid = "ec4c270655bf49a58766bf36a2b21c5c"; crossTab1_Sum1.Name = "CrossTab1_Sum1"; crossTab1_Sum1.Summary = Stimulsoft.Report.CrossTab.Core.StiSummaryType.None; crossTab1_Sum1.Value.Value = "{Categories.Description}"; Stimulsoft.Report.CrossTab.StiCrossTitle crossTab1_RightTitle = new Stimulsoft.Report.CrossTab.StiCrossTitle(); crossTab1_RightTitle.Guid = "43929f3151c248b6b4e07b0a8ea44f93"; crossTab1_RightTitle.Name = "CrossTab1_RightTitle"; crossTab1_RightTitle.TypeOfComponent = "RightTitle"; crossTab1_RightTitle.Text.Value = "CategoryName"; #endregion該button1_Click()方法讀取 XML 數(shù)據(jù),將其注冊到新報告中并添加之前創(chuàng)建的交叉表:
private void button1_Click(object sender, EventArgs e) { var data = new DataSet(); data.ReadXmlSchema("..\\..\\Data\\Demo.xsd"); data.ReadXml("..\\..\\Data\\Demo.xml"); var report = new StiReport(); report.RegData("Demo", data); report.Dictionary.Synchronize(); #region CrossTab ... #endregion report.Pages[0].Components.Add(crossTab1); crossTab1.Components.AddRange(new Stimulsoft.Report.Components.StiComponent[] { crossTab1_RowTotal1, crossTab1_Row1_Title, crossTab1_ColTotal1, crossTab1_LeftTitle, crossTab1_Row1, crossTab1_Column1, crossTab1_Sum1, crossTab1_RightTitle}); report.Show(); }在下面的屏幕截圖中,您可以看到示例代碼的結(jié)果:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn