Crystal Report查看页码

时间:2009-11-19 05:57:02

标签: asp.net crystal-reports

我在ASP.NET应用程序中使用Crystal Report Viewer。在查看器上,它显示沿“1 / 1+”行的页码,其中1+是动态计算的。我希望它从一开始就显示正确的总页数而不是1+。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:2)

我认为在线的一些例子建议您导航到最后一页然后再回到第一页,但我不认为这是处理它的好方法。我还没有必要为我的任何项目做这个,所以我还没有尝试找到一个工作。

修改 -

好的,刚才看到这个后我意识到如果你添加“Page N of M”特殊字段,它会在运行时进行动态计算。在我的测试中,即使您选择通过选中字段属性中的抑制框来抑制字段,它也会进行动态计算。对于较大的报告,动态计算可能较慢,这可能与以编程方式导航到最后一页并返回到第一页一样好。希望这会有所帮助。

答案 1 :(得分:0)

Crystal Report的Page引擎尽可能快地为第一页提供部分,以提供对性能的感知。您可能已经注意到字段值快速呈现,其中占位符(空格)用于子报表和其他资源密集型对象。当渲染引擎完成处理这些对象时,占位符将替换为值。

页码编号情况类似。导航控件最初将显示为“1+”,但会在页面引擎呈现其他页面时递增。渲染整个报表时,导航控件和M字段的页面N将显示总页数。

如果您坚持改变用户体验,您可以使用Viewer的BeforeRender或BeforeRenderContent事件将HasPageNavigationButtons = False和AfterRender或AfterRenderContent事件设置为HasPageNavigationButtons = True。

我不确定您是否可以使用Page-N-of-M字段做类似的事情。

答案 2 :(得分:0)

您有一个名为TotalPageCount的属性。如果您将其放入报告中,则会正确显示页码。 例如,我有一个公式字段,如ToText(PageNumber,0)+“/”+ ToText(TotalPageCount,0),以显示总页数的当前页面。