本文共 2883 字,大约阅读时间需要 9 分钟。
为您提供一个优化后的技术文档版本:
如何使用交叉表组件创建报表
交叉表(Cross-Tab)是一种常用的数据可视化组件,常用于Business Analysis中。通过代码创建交叉表需要以下步骤:
首先,在代码中添加交叉表组件:
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";
为了确保交叉表正确显示数据,需要为行和列设置总计值及标题。以下是示例代码:
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";
交叉表中显示的值可以通过以下方式设置:
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.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}";
在实际应用中,需要在用户交互事件中完成以下步骤:
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();}
通过以上步骤,您可以轻松创建并嵌入交叉表组件,完成数据的分组和汇总工作。
转载地址:http://igfqz.baihongyu.com/