积极答复者
求教:水晶报表问题

问题
-
使用VS2005水晶报表 WinForm动态显示。创建一个DataSet,设置一个DataTable表。在界面类中每新添加一行数据到表中,然后crtReport.SetDataSource(table1);最后显示在界面上出来。
但是在新添加完一两条数据之后,水晶报表出现异常。CrystalDecisions.ReportAppServer.DataSetConversion!CrystalDecisions.ReportAppServer.DataSetConversion.DataSetConverter+CrdbAdoPlusDelegate::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。
是否水晶报表不允许频繁的更改数据,SetDataSource(table1)?如何能解决这个问题,数据又能实时更新显示?- 已移动 Sheng Jiang 蒋晟Moderator 2009年8月20日 12:02 非语言问题 (发件人:Visual C#)
答案
-
你好 这个问题似乎是一个报表只能设置一次数据源 参考这个话题 http://social.msdn.microsoft.com/Forums/en-US/vscrystalreports/thread/9a33ee98-37c2-4923-80a8-45f064995e24
当数据源更改是你可以先调用报表文档的Close方法 然后重新设置数据源SetDataSource试试;如果还不行可以试试重新实例化,加载新的报表,设置新的数据源
Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond- 已标记为答案 Riquel_DongModerator 2009年8月26日 10:36
-
使用VS2005水晶报表 WinForm动态显示。创建一个DataSet,设置一个DataTable表。在界面类中每新添加一行数据到表中,然后crtReport.SetDataSource(table1);最后显示在界面上出来。
但是在新添加完一两条数据之后,水晶报表出现异常。CrystalDecisions.ReportAppServer.DataSetConversion!CrystalDecisions.ReportAppServer.DataSetConversion.DataSetConverter+CrdbAdoPlusDelegate::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。
是否水晶报表不允许频繁的更改数据,SetDataSource(table1)?如何能解决这个问题,数据又能实时更新显示?
请理解水晶报表的渲染是非常耗资源的工作 和我们datagrid 绑定是完全不同数量级的。
您可以简单的理解为 不允许频繁更改数据源 因为每一次绑定渲染产生的报表临时文件都可能达到几十M
答案破千 马上就要到5星用户了 嘿嘿~~- 已标记为答案 Riquel_DongModerator 2009年8月26日 10:36
全部回复
-
你好 这个问题似乎是一个报表只能设置一次数据源 参考这个话题 http://social.msdn.microsoft.com/Forums/en-US/vscrystalreports/thread/9a33ee98-37c2-4923-80a8-45f064995e24
当数据源更改是你可以先调用报表文档的Close方法 然后重新设置数据源SetDataSource试试;如果还不行可以试试重新实例化,加载新的报表,设置新的数据源
Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond- 已标记为答案 Riquel_DongModerator 2009年8月26日 10:36
-
使用VS2005水晶报表 WinForm动态显示。创建一个DataSet,设置一个DataTable表。在界面类中每新添加一行数据到表中,然后crtReport.SetDataSource(table1);最后显示在界面上出来。
但是在新添加完一两条数据之后,水晶报表出现异常。CrystalDecisions.ReportAppServer.DataSetConversion!CrystalDecisions.ReportAppServer.DataSetConversion.DataSetConverter+CrdbAdoPlusDelegate::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。
是否水晶报表不允许频繁的更改数据,SetDataSource(table1)?如何能解决这个问题,数据又能实时更新显示?
请理解水晶报表的渲染是非常耗资源的工作 和我们datagrid 绑定是完全不同数量级的。
您可以简单的理解为 不允许频繁更改数据源 因为每一次绑定渲染产生的报表临时文件都可能达到几十M
答案破千 马上就要到5星用户了 嘿嘿~~- 已标记为答案 Riquel_DongModerator 2009年8月26日 10:36