2009-11-19 80 views
0

我在ASP.NET應用程序中使用Crystal Report Viewer。在查看器上,它顯示沿着'1/1 +'線的頁碼,其中1+是動態計算的。我希望它從一開始就顯示正確的總頁數,而不是1+。有沒有辦法做到這一點?Crystal Report查看頁碼

回答

2

我認爲一些在線的例子建議您導航到最後一頁然後回到第一頁,但我不認爲這是處理它的好方法。我還沒有必要爲我的任何項目做到這一點,所以我還沒有嘗試找到一個工作。

編輯 -

好吧,看着這之後,剛纔我意識到,如果添加「M的第N」專業它的動態計算在運行時。在我的測試中,即使您選擇通過選中字段屬性中的抑制框來抑制字段,它也會執行動態計算。對於較大的報告,動態計算可能會比較慢,這可能與以編程方式導航到最後一頁並回到第一頁一樣好。希望這可以幫助。

+0

謝謝Dusty。只要添加一個M的頁面N並抑制它,將會產生所需的效果。 – Craig 2009-11-19 21:53:31

0

Crystal Report的頁面引擎儘可能快地呈現各個部分的第一頁,以提供性能感知。您可能已注意到字段值快速呈現,其中包含子報表和其他資源密集型對象的佔位符(空格)。當渲染引擎完成處理這些對象時,佔位符將被替換爲值。

頁碼編號情況類似。導航控件最初將讀取'1+',但會隨着Page引擎渲染其他頁面而增加。當整個報表呈現時,導航控件和M頁的第N頁將顯示總頁數。

如果您堅持改變用戶體驗,您可以使用Viewer的BeforeRender或BeforeRenderContent事件將HasPageNavigationButtons = False和AfterRender或AfterRenderContent事件設置爲HasPageNavigationButtons = True。

我不確定您將能夠使用Page-N-of-M字段做類似的事情。

0

您有一個名爲TotalPageCount的屬性。如果您在報告中顯示正確的頁碼, 例如,我有一個像ToText(PageNumber,0)+「/」+ ToText(TotalPageCount,0)的公式字段來顯示當前頁面的總頁數。