【问题标题】:Is there a way to make Crystal Reports to get paginated data from a datasource?有没有办法让 Crystal Reports 从数据源中获取分页数据?
【发布时间】:2011-07-20 18:55:44
【问题描述】:

我们正在使用 Visual Studio 2010 为 ASP.NET 测试 SAP Crystal Reports,看看它是否满足我们的需求。

我们检测到的一个使其无法使用的缺陷是,由于某种原因,当连接到返回对象集合的 IDataSource 时,CrystalReportViewer 不会要求分页数据。它获取DataSourceView 并调用它的ExecuteSelectMethod,传递一个不要求分页数据的DataSourceSelectArguments。它只是从数据源中带来一切。 DataSourceViewCanPage 属性返回 true。它甚至不要求计数。

另一方面,控件顶部的分页显示了不确定的页数,这让我们相信可能有一种方法可以处理分页数据。

它检索所有内容的事实可能会导致 100 多页报告的预览需要很长时间。

有没有办法让它处理分页数据?或者以更快的方式向用户展示超长报告的预览?

谢谢

【问题讨论】:

    标签: .net asp.net reporting-services crystal-reports


    【解决方案1】:

    根据您查询/检索数据的方式,它可能会对数据的提取方式产生重大影响。

    如果您在 SQL Server 中使用存储过程,您将获得非常快的结果,因为一切都发生在 DB 服务器上。但是,在许多情况下,如果您将随机数据源连接在一起,Crystal 就别无选择,只能将所有数据拉到客户端计算机并将其“按摩”到它可以处理的临时数据库中。

    另外,请确保您不要在您的网页上使用 Page N of M。这也迫使 Crystal 做更多的工作来显示第 1 页。第 N 页(共 M 页)强制它在显示第一页之前确定总页数。

    【讨论】:

    • 感谢您的回复。但 SAP 在 SAP 论坛上回答说数据源将始终提取所有数据
    • 我没有说它不会提取所有数据。它会。我是在告诉你应该看什么才能让它更快或对你和/或最终用户看起来更快。
    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 2022-01-11
    相关资源
    最近更新 更多