使用ActiveReports创建动态区段报表
来源:互联网 发布:如何查询淘宝信用 编辑:程序博客网 时间:2024/05/19 04:26
报表控件ActiveReports的最新7版本提供了更多更广泛的API,让Visual Basic和C#开发者可以完整掌控报表流程引擎,以适应各种复杂报表开发的需求。
它主要提供的事件和属性类型有:
原文地址:http://www.evget.com/zh-CN/Info/catalog/19285.html
它主要提供的事件和属性类型有:
数据检索
数据转换布局
渲染
完善的API意味着开发人员实现在运行时创建报表,一般的报表工具都将报表设计和报表分开运行扯淡,而ActiveReports却可以通过API实现运行时的报表创建,让一些报表的一些动态功能能够实现。接下来就以如何创建动态区段报表为例,说一下灵活运用API的方法。首先看一下最终创建报表的效果:
简单的说一下创建步骤:
创建一个报表实例
动态的添加区段和控件
修改报表区段和控件的相关细节
给报表指派设置数据源
将报表绑定到数据源
下段代码就能完成所有步骤:
private void Form1_Load(object sender, EventArgs e){ rpt = new SectionReport(); //Adding Page Header/Footer sections rpt.Sections.InsertPageHF(); rpt.Sections[0].BackColor = Color.LightGray; //Adding Detail section rpt.Sections.Insert(1, new Detail()); rpt.Sections[1].BackColor = Color.PeachPuff; rpt.Sections[1].Height = 1.5f; //Adding label to display first column's name GrapeCity.ActiveReports.SectionReportModel.Label lblCategoryID = new GrapeCity.ActiveReports.SectionReportModel.Label(); lblCategoryID.Location = new PointF(0, 0.05F); lblCategoryID.Text = "Category ID"; lblCategoryID.Alignment = GrapeCity.ActiveReports.Document.Section.TextAlignment.Center; lblCategoryID.Font = new System.Drawing.Font("Arial", 10, FontStyle.Bold); rpt.Sections[0].Controls.Add(lblCategoryID); //Adding label to display second column's name GrapeCity.ActiveReports.SectionReportModel.Label lblCategoryName = new GrapeCity.ActiveReports.SectionReportModel.Label(); lblCategoryName.Location = new PointF(1.459f, 0.05f); lblCategoryName.Size = new SizeF(1.094f,0.2f); lblCategoryName.Text = "Category Name"; lblCategoryName.Font = new System.Drawing.Font("Arial", 10, FontStyle.Bold); rpt.Sections[0].Controls.Add(lblCategoryName); //Adding label to display third column's name GrapeCity.ActiveReports.SectionReportModel.Label lblDescription = new GrapeCity.ActiveReports.SectionReportModel.Label(); lblDescription.Location = new PointF(3.114f, 0.05f); lblDescription.Text = "Description"; lblDescription.Font = new System.Drawing.Font("Arial", 10, FontStyle.Bold); rpt.Sections[0].Controls.Add(lblDescription); //Adding label to display fourth column's name GrapeCity.ActiveReports.SectionReportModel.Label lblPicture = new GrapeCity.ActiveReports.SectionReportModel.Label(); lblPicture.Location = new PointF(5.219f, 0.05f); lblPicture.Alignment = GrapeCity.ActiveReports.Document.Section.TextAlignment.Center; lblPicture.Text = "Picture"; lblPicture.Font = new System.Drawing.Font("Arial", 10, FontStyle.Bold); rpt.Sections[0].Controls.Add(lblPicture); //Adding Textbox to display first column's records GrapeCity.ActiveReports.SectionReportModel.TextBox txtCategoryID = new GrapeCity.ActiveReports.SectionReportModel.TextBox(); txtCategoryID.Location = new PointF(0,0); txtCategoryID.Alignment = GrapeCity.ActiveReports.Document.Section.TextAlignment.Center; rpt.Sections[1].Controls.Add(txtCategoryID); //Adding Textbox to display second column's records GrapeCity.ActiveReports.SectionReportModel.TextBox txtCategoryName = new GrapeCity.ActiveReports.SectionReportModel.TextBox(); txtCategoryName.Location = new PointF(1.459f,0); rpt.Sections[1].Controls.Add(txtCategoryName); //Adding Textbox to display third column's records GrapeCity.ActiveReports.SectionReportModel.TextBox txtDescription = new GrapeCity.ActiveReports.SectionReportModel.TextBox(); txtDescription.Location = new PointF(3.114f,0); rpt.Sections[1].Controls.Add(txtDescription); //Adding Picture control to display image GrapeCity.ActiveReports.SectionReportModel.Picture picture = new Picture(); picture.Location = new PointF(5.219f,0); rpt.Sections[1].Controls.Add(picture); // Setting report's data source conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\stduser\Documents\ComponentOne Samples\ActiveReports Developer 7\Data\NWIND.mdb;Persist Security Info=False"); System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand("SELECT * FROM Categories", conn); conn.Open(); reader = cmd.ExecuteReader(); rpt.DataSource = reader; // Assigning DataField properties of controls in the detail section txtCategoryID.DataField = "CategoryID"; txtCategoryName.DataField = "CategoryName"; txtDescription.DataField = "Description"; picture.DataField = "Picture"; reader.Close(); conn.Close();}
原文地址:http://www.evget.com/zh-CN/Info/catalog/19285.html
- 使用ActiveReports创建动态区段报表
- ActiveReports 报表应用教程 (8)---交互式报表之动态过滤
- ActiveReports 报表应用教程 (9)---交互式报表之动态排序
- ActiveReports 报表应用教程 (8)---交互式报表之动态过滤
- ActiveReports 报表应用教程 (9)---交互式报表之动态排序
- ActiveReports 报表应用教程 (8)---交互式报表之动态过滤
- ActiveReports 报表应用教程 (9)---交互式报表之动态排序
- 使用ActiveReports for .net 进行报表开发-交叉报表
- 实现Excel 表格功能的ActiveReports动态报表
- 创建一个专业的ActiveReports报表设计器
- 使用ActiveReports for .net 进行报表开发(七)--事件
- ActiveReports工作总结6——使用子报表
- 使用ActiveReports for .net 进行报表开发--交叉变换背景
- ActiveReports工作总结6——使用子报表
- 使用ActiveReports for .net 进行报表开发(七)--事件
- 使用ActiveReports for .net 进行报表开发(七)--事件
- 在ASP.NET MVC 中使用ActiveReports报表控件
- ActiveReports报表设计器
- android app 测试参考质料
- Java继承和重写
- 记一次磁盘IO高问题排查过程
- O(1)时间删除节点
- C++让基类握住派生类的指针
- 使用ActiveReports创建动态区段报表
- .net Romting 中的对象生命周期
- videodev2.h
- Apache无法启动解决 the requested operation has failed
- KenLM Language Model Toolkit
- 命令行 运行java
- html页面转成jsp页面后布局混乱的 1 种情况
- java内部类
- 开源项目之Splayer 射手影音播放器