提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:郝浩|2013-08-07 09:37:57.000|阅读 393 次
概述:报表控件ActiveReports的最新7版本提供了更多更广泛的API,让Visual Basic和C#开发者可以完整掌控报表流程引擎,以适应各种复杂报表开发的需求。
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
报表控件ActiveReports的最新7版本提供了更多更广泛的API,让Visual Basic和C#开发者可以完整掌控报表流程引擎,以适应各种复杂报表开发的需求。
它主要提供的事件和属性类型有:
完善的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();
}
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@hmdbvip.cn
文章转载自:慧都控件网



在嵌入式软件测试领域,对交叉编译代码进行单元测试是一大挑战。Parasoft C/C++test作为专业的C/C++测试工具,能够与劳特巴赫Trace32调试器深度集成。下面会详细介绍如何在C++test中配置Trace32调试器,实现对PowerPC架构程序的单元测试,涵盖环境设置、项目导入到测试执行的全过程。
本文将为大家介绍如何使用DevExpress WinForms数据网格控件实现摘要文本的格式化,欢迎下载最新版组件体验!
Parasoft C/C++test作为一款功能强大的自动化测试工具,为嵌入式开发提供了全面的测试解决方案。特别是在CCS开发环境中,C++test能够无缝集成,为F2812等DSP项目提供专业的单元测试支持。下面将介绍如何在CCS3环境下配置和使用C++test进行F2812项目的单元测试。
在嵌入式开发中,尤其是基于ARM架构的安全关键领域,单元测试是验证代码在目标硬件上运行时行为正确性的关键环节,对于保障最终产品的可靠性至关重要。下面将介绍如何利用Parasoft C/C++test开展单元测试,包括配置、执行及解决可能遇到的许可证问题,完成从静态检查到动态运行的完整测试闭环。
相关产品
亚洲畅销的.NET报表控件,20万用户的选择,可在应用程序中生成各种报表,十多年来一直荣获应用程序的优秀报表生成控件。
最新文章 MORE
永利最大(官方)网站相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站