2012-10-05 26 views
0

在BIRT報告查看器中的報告的初始化事件中,我想根據在那裏進行的一些驗證來取消(終止)報告的繼續執行。在BIRT報告查看器中,如何在初始化事件腳本中取消報告執行?

僞代碼:reportContext(stop);

研究的一個巨大的量之後,我發現只有一個參考思路:「有一個辦法取消了任務,但這樣會造成一個非常通用的例外。」但是我沒有發現如何在BIRT事件處理程序中取消從JavaScript代碼運行BIRT報告,特別是初始化事件。一般的例外,我可以處理。
有人解決了這個問題嗎?

+0

謝謝。在這個Tomcat應用程序中,我想根據登錄狀態終止報告過程,然後用戶甚至可以顯示參數表單。我本可以使用一個隱藏的參數,但是我想在報告表出現之前停止這個過程。我已經制定了一種方法來終止datasource.beforeOpen中的過程,方法是將d/b用戶名和密碼設置爲無效值。但用戶仍然看到表單(標題中的標籤等)。當然沒有數據。用戶得到一個錯誤。 – user1721483

回答

0

您可以將JavaScript代碼添加到報表參數的validate事件處理程序中。 僅當此腳本評估true時,報告纔會運行。如果false你會得到你提到的「通用例外」...

+0

謝謝。在這個Tomcat應用程序中,我想根據登錄狀態終止報告過程,然後用戶甚至可以顯示參數表單。我本可以使用一個隱藏的參數,但是我想在報告表出現之前停止這個過程。我已經制定了一種方法來終止datasource.beforeOpen中的過程,方法是將d/b用戶名和密碼設置爲無效值。但用戶仍然看到表單(標題中的標籤等)。當然沒有數據。用戶得到一個錯誤。 – user1721483