找回密码
 立即注册

QQ登录

只需一步,快速开始

travel_he

初级会员

21

主题

67

帖子

202

积分

初级会员

积分
202

活字格认证

[已处理] ASP报表导出

travel_he
初级会员   /  发表于:2016-8-9 14:14  /   查看:3897  /  回复:5
本帖最后由 Lenka.Guo 于 2016-8-9 18:49 编辑

报表显示正常!
导出时报:
发生了一个意外错误。更多信息: 'No data has been set. Please specify either a DataSet or a DataView to use'


5 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-8-9 15:46:27
沙发
怀疑是执行导出操作的时候,虽然初始化报表,但是未调用数据绑定的,所以导致导出的报表对象未绑定数据。
回复 使用道具 举报
travel_he
初级会员   /  发表于:2016-8-9 15:52:50
板凳
我在报表里设置一个DataSource1 类型ATASET PROVIDER,加载报表里使用
AddHandler Rpt.Document.LocateDataSource, AddressOf Document_LocateDataSource  语句加载数据源,
显示没有问题,但导出就报错.
估计是导出时没有触发这个事件,导致无法获取数据源.
有什么方法可以直接指定数据源?
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-8-9 16:16:19
地板
travel_he 发表于 2016-8-9 15:52
我在报表里设置一个DataSource1 类型ATASET PROVIDER,加载报表里使用
AddHandler Rpt.Document.LocateDa ...

导出的时候,可以在重新生成报表对象,然后再次调用这个LocateDataSource 试试
回复 使用道具 举报
travel_he
初级会员   /  发表于:2016-8-10 08:21:51
5#
我就是这么做的,只能这样加载数据嘛?
有没有一次性加载的方法?
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-8-10 11:19:13
6#
有一个方法就是,导出都是通过Report的document提供的export方法来实现的, 所以就需要在创建报表的时候,创建PageDocument对象,然后为PageDocument对象调用LocateDataSource方法,再导出方法中将Document对象传进去,即可
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部