2017-01-28 19 views
-1

我正在使用ConnectToNewObject方法而不是水晶報表查看器控件,並且找不到任何方式獲取頁面總數?如何查找非可視化水晶報表對象的總頁數?如何在PowerBuilder中獲取非可視水晶報表對象的頁數

我已經檢索了報告並可以發送打印到打印機,但是我只能發送第一頁,因爲我不知道報告中有多少頁面,所以我需要知道總頁數,然後才能發送所有頁面到打印機。請告訴我該怎麼做?

回答

0

很簡單,但只是可怕的,因爲沒有頁數的直接屬性。

首先聲明實例或全局變量在腳本需要

OLEObject g_ole_crx_report_PageGenerator 
OLEObject g_ole_crx_report_Pages 
OLEObject g_ole_crx_report 
Integer PageGenerator[], PageCount 

將下面的代碼在偶數/功能在您的報告是連接並已被檢索(g_ole_crx_report)

TRY 
    g_ole_crx_report_PageGenerator = g_ole_crx_report.PageEngine.CreatePageGenerator (PageGenerator[]) 
    g_ole_crx_report_Pages = g_ole_crx_report_PageGenerator.Pages 
    PageCount = g_ole_crx_report_Pages.Count 
CATCH (RuntimeError exRuntime) 
END TRY 

請在必要時添加任何適當的錯誤消息。我真的不喜歡很多錯誤消息。更像移動應用程序,錯誤信息比錯誤本身更令人討厭。例如,如果用戶沒有檢索報告並嘗試獲取總頁數,則顯示錯誤/信息消息是沒有意義的。無論如何,上面的代碼適用於我,我希望它也適用於你。

+0

不要使用空'catch':至少記錄發生錯誤的日​​志。 – Seki

+0

是的,那是對的。生成日誌是個好主意。感謝Seki – Berka