在 ActiveReports 中嵌入 Spread 控件

Spread 是一款很出色的表格控件,Spread 可以使开发人员把具有兼容 Microsoft Excel 的电子表格添加到程序中。ActiveReports 提供了一个非常灵活的、简单的报表环境。下面将展示怎样在 ActiveReports 中使用 Spread for WinForm。和其他三方控件一样,Spread 控件也可以在 ActiveReports 中当作自定义控件使用,只是拖拖拽拽这么简单。但是怎样在 ActiveReports 中使用 Spread 全部的对象模型(例如方法、属性等)?不幸的是,因为 ActiveReports 仍然把 Spread 当作自定义控件,这样在设计时的 Spread 设计时功能的使用会受到很多限制(类似于标准控件)。那么该怎样解决这个问题呢?

下面我们就进行一个快速展示:
一、    为了给大家一个直观的影响,我们先给出应用到的控件截图:

1.        Spread,ActiveReports 中使用 Spread for WinForm 截图展示。

 

2. NewActiveReport,我们就是在它上面添加 Spread 控件。

 

 

3. Viewer,我们会在 viewer 上面调用我们的 NewActiveReport。

 

 

二、 有了上面的零部件,下面我们就开始组装了~

1. 为了美观,我们对NewActiveReport做了一些加工,这里不详细介绍。从工具箱中拖拽 Spread 到 NewActiveReport实例中,Spread 对象会作为一个自定义控件添加到报表中,ActiveReports 把 Spread 当作自定义控件,所以目前 Spread 为灰色。(红色矩形内部即为 Spread )

 

2. 在报表的开始实践中转化自定义控件为 Spread 对象,代码如下:

fpSpread1=(FarPoint.Win.FpSpread)customControl.Control;

 

3. 在报表开始事件 或 Spread 控件添加的区域的格式化事件中访问 Spread 对象的属性。你可以添加、删除、定制表单,单元格,行,甚至给 Spread 绑定数据源。

1 fpSpread1 = (FarPoint.Win.Spread.FpSpread)customControl1.Control;2 FarPoint.Win.Spread.SheetView newsheet = new FarPoint.Win.Spread.SheetView();3 newsheet.SheetName = "Active Reports";4 newsheet.ColumnCount =4;5 newsheet.RowCount = 5;6 fpSpread1.Sheets.Add(newsheet);

4. 现在创建一个 ActiveReports 实例,调用报表实例运行方法,在查看器中观察报表。

1 NewActiveReport1 rpt = new NewActiveReport1();2 rpt.Run();3 viewer1.Document = rpt.Document;

就这样,我们成功的在在 ActiveReports 中使用 Spread for WinForm,效果图: 

你也试一试吧?

Demo 下载:

FarpointSpread_ActiveReports.zip

时间: 2024-10-01 09:41:21

在 ActiveReports 中嵌入 Spread 控件的相关文章

咨询各位大神:ComponentOne、Spread、ActiveReports和葡萄城控件的关系

问题描述 有使用过的,出来吼两声吧.引用 ComponentOne.Spread.ActiveReports和葡萄城控件的关系 1中文官网2服务电话等备注:卖控件的代理商,免入. 解决方案 解决方案二:帮你顶下..解决方案三:葡萄城是公司名,公司的主要业务之一是控件业务,因此葡萄城控件指葡萄城公司的所有控件,其中包括ComponentOne.Spread.ActiveReports等控件产品.详细信息,可以访问葡萄城控件的中文官方网站:,上面有具体的联系方式.

ActiveReports 报表应用教程 (13)---嵌入第三方控件

葡萄城ActiveReports报表与Visual Studio完美集成,给我们带来更为灵活易用的报表定制和自定义控件嵌入支持,除了可以在报表中使用葡萄城ActiveReports报表内置控件外,您还可以在报表中添加任意的第三方 .NET 控件,从而满足您更多的报表扩张能力的需求.本文展示的是在葡萄城ActiveReports报表的区域报表中使用 C1Gauge  for Windows  Forms 和  C1Chart  for Windows Forms 控件. 1.创建报表文件 在应用程

WPF中嵌入WinForm中的webbrowser控件

原文:WPF中嵌入WinForm中的webbrowser控件 使用VS2008创建WPF应用程序,需使用webbrowser.从工具箱中添加WPF组件中的webbrowser发现其中有很多属性事件不能使用.决定还是使用WinForm中的webbrowser.要想在WPF中使用WinForm控件,查看MSDN,需经过以下步骤. 创建名为 HostingWfInWpf 的 WPF 应用程序项目. 在解决方案资源管理器中,添加一个对名为 WindowsFormsIntegration.dll 的 Wi

探讨ASP.NET 2.0中的Web控件改进技术

asp.net|web|控件 ASP.NET 2.0并没有抛弃1.1版本中的任何现有控件,而是增加了一组新的控件;同时还引入了若干新的控件开发技术.本系列文章将对这些内容展开全面探讨. 一. 引言 到目前为止,你可能已经了解了大量的ASP.NET 2.0新特征-母版页面,主题,提供者,等等--所有这样内容都相当精彩;但是,你是否了解到有关定制Web控件开发方面的重大变化?这正是我在本文中所想讨论的.如果你已经从事于控件开发,那么,我想本文所描述的ASP.NET 2.0中的新的改进特征会立即应用于

在VC++6.0中利用串行通信控件

目前,在用计算机进行数据传输时,常用的是串行通信方式.在Visual C++的编程中,既可以用Windows API函数进行串行通信编程,也可以利用环境自带的控件进行编程.利用 API函数编写实际应用程序时,往往要考虑多线程的问题,这样编出来的程序不但十分庞大,而且结构比较复杂,继承性差,维护困难.但是使用串行通信控件就相对简单一些,而且功能强大,性能安全可靠. 本文以Microsoft Communications Control(version 6.0)为例,介绍串行通信控件在VC++中的使

子窗体大小随主窗体中的panel控件大小而变化

问题描述 form1界面:panel2的dock=fillform2界面form1的load事件代码:Form2myForm=newForm2();myForm.TopLevel=false;panel2.Controls.Add(myForm);myForm.Show(); 程序启动时:form1窗体最大化时:现在需要实现form1窗体大小变化后,form2窗体大小也跟着变化,始终全部填充在form1的panel2控件中,并且form2的label控件处于在form2中的相对位置,不管form

C++ Builder中如何保持控件的位置及大小

C++ Builder/Delphi是Inprise(原Borland)公司广受欢迎的可视化C++/Pascal开发工具,利用它可极大地加快应用程序的开发速度.但是,也正因为其是可视化编程工具,将控件拖放到Form后,控件的位置就固定死了.随着Form的大小或屏幕分辨率的改变,控件和Form本身的位置往往变得非常混乱.本文将介绍一些正确定位控件及Form的方法. 利用OnResize事件改变控件位置及大小 C++ Builder/Delphi中的Form控件有一个OnResize事件,Form的

Asp.Net中使用Highcharts控件X轴的categories数据一多会被截断

问题描述 Asp.Net中使用Highcharts控件X轴的categories数据一多会被截断 xAxis: { tickmarkPlacement: ""on"" type: 'datetime' tickInterval: [<%=num %>] categories: [<%=lastModifyTime %>] } xAxis中 categories数据会被截断的问题怎么解决 解决方案 ASP.NET中通过WebService获取数

重写UITableViewCell子类中属性的setter方法来实现隐藏或显示该cell中的某些控件

重写UITableViewCell子类中属性的setter方法来实现隐藏或显示该cell中的某些控件 为什么会需要这样子的一种方法来实现隐藏或者显示一个cell中的某些控件呢? 其实,隐藏cell中某些控件可以直接在tableView:cellForRowAtIndexPath:方法中直接实现,我们需要判断外部变量比如bool值来决定是否显示这个控件,但需要额外的代码写在tableView:cellForRowAtIndexPath:方法当中,如果我们把bool值传递给该cell让其自己判断是否