水晶报表 For VS2005的新功能——“设计时预览” (BUG)

在使用VS2005水晶报表的“设计时预览”功能时,采用Push模式(DataSet作为数据源)会出现数据混乱甚至丢失的问题。此问题源于设计时预览未能正确填充数据集。
        这两天使用水晶报表For VS2005 做报表开发,发现了一个BUG。新版的水晶报表为了我们开发方便,引入了“设计时预览”新功能。这东西确实很有用,我们无需把报表放到报表查看器并运行应用便可以查看到报表运行结果,但正是因为这个新特性差点没把我给整死。

        我们都知道水晶报表分Pull模式和Push模式。Pull模式就是让报表直接连接数据库获取数据,Push模式就是通过ADO.NET(DataSet)为报表提供数据源。当我们使用Push模式做报表开发时(也是最常用的方式),使用“设计时预览”功能时就会出现问题,出来的数据是乱七八糟的东西,并且每次刷新都是不一样,有时刷多几下连数据都没了(关闭报表重新打开预览,数据又出来了)。

        经过分析,我觉得造成这种BUG的原因是跟推Push模式本身的性质有关的,因为报表的数据源是使用DataSet,而DataSet在设计时是没有填充数据的,只是个数据的结构。而当使用“设计时预览”功能时,它并没有为我们填充数据集。

        为了验证这点,我建了个窗体并加入报表查看器,然后选择了报表(报表查看器的ReportSource属性),接着实例化一个数据集并填充好,最后将数据集设置为报表的数据源(报表对象的SetDataSource方法)。运行后一切正常!!

        “设计时预览”功能这个功能本来是很棒的,但现在使用Push模式做报表开发时却形同虚设,希望Business Objects可以早日修复BUG。话说回来,VS2005都出了好些日子了,为什么这个Bug还没修复呢?难道只有我才遇到这个问题?

转载于:https://www.cnblogs.com/Ryu666/archive/2006/08/27/487571.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值