找回密码
 立即注册

QQ登录

只需一步,快速开始

harborzhb

高级会员

7

主题

18

帖子

1769

积分

高级会员

积分
1769

活字格认证

harborzhb
高级会员   /  发表于:2013-12-24 10:01  /   查看:6856  /  回复:5
我们在做把VB6的ActiveReport2.0的程序升级到.net3.5的ActiveReport7.0的程序。

在ActiveReport2.0中有DAODataControl类型的控件,请问在ActiveReport7.0如何实现。
以及以下相关的属性该如何实现:
ard.Report.Sections.Item("Detail").Controls("DAODataControl1").DatabaseName = "C:\ReportData.mdb"
ard.Report.Sections.Item("Detail").Controls("DAODataControl1").RecordSource="select * from BTRP0002"
ard.Report.Sections.Item("Detail").Controls("DAODataControl1").Recordset.MoveLast()

5 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-12-24 15:03:00
沙发
harborzhb

以上是AR 2的数据源设置方法,我建议你在升级产品时使用AR7中的数据源设置方式替换旧的方法,以便你以后更好的维护产品。

AR7中数据源设置方式可以参考以下资源:
AR7帮助文档:ActiveReports Developer 7 > ActiveReports Developer Guide > How To > Section Report How To > Work with Data in Section Reports
AR Blog:http://blog.gcpowertools.com.cn/ ... ListDataSource.aspx
回复 使用道具 举报
harborzhb
高级会员   /  发表于:2013-12-25 10:09:00
板凳
原有的VB6的功能是一个报表设计器,在画面设计完成报表后,用SaveLayout方法将报表设计保存到XML文件中。在其他的程序用LoadLayout将XML文件中报表加载进来。
原有的功能中用DAODataControl把数据库连接,查询SQL同时保存在XML中了,以便其他程序加载XML报表时,直接获得了保存的数据库连接和查询SQL语句。

我们升级VB6程序时,想实现该功能,用OLEDBConnection控件是否可行。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-12-25 16:43:00
地板
升级到 AR7 之后可以使用这样的数据源:
  1. GrapeCity.ActiveReports.Data.OleDBDataSource oleDBDataSource1 = new GrapeCity.ActiveReports.Data.OleDBDataSource();
  2. oleDBDataSource1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\NWind_CHS.mdb;Persist Security Info=False";
  3. oleDBDataSource1.SQL = "Select * from 产品;";
  4. rpt.DataSource = oleDBDataSource1;
复制代码
回复 使用道具 举报
harborzhb
高级会员   /  发表于:2013-12-26 10:35:00
5#
用OleDBDataSource可以实现DAODataControl的功能。
相当于在Designer中对报表的DataSource属性的Connection和SQL进行赋值。
用SaveLayout方法可以将DataSource保存到XML文件中。

问题解决了,谢谢dof。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-12-30 09:44:00
6#
也谢谢你分享以上结果
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部