2010-05-05 81 views
1

我遇到了JasperReports問題,我無法解決。我正在使用Eclipse,OpenReports 3.2和IReport 3.7「文檔沒有頁面」上的iReport和OpenReports上沒有任何內容

我遇到的問題是報告什麼都不做。當我在IReport中預覽報告時,我至少可以得到一個「文檔沒有頁面」的消息,但是當我嘗試使用OpenReports打開它時,它不會執行任何操作。我得到了公開的報告標題和版權信息,但它們之間沒有任何關係。

我可以在OpenReports的ReportRunAction.java中將它追蹤到第150行。該行是:

jasperPrint = jasperEngine.fillReport(reportInput); 

至少,這是頁面死亡的行。它跳過catch塊,該行在裏面,但錯誤是空的。當我嘗試打印描述時,它是空的。我不能發誓這個問題不是這個參數。通過環顧所有我能夠找到的東西是關於如何使用OpenReports使用的相同版本的jasperreports.jar來編譯報告。我不知道如何判斷jasper報告是否被綁定到.jasper文件中。

這是我的問題嗎?如果是這樣,我該如何告訴/設置捆綁的jar版本?如果不;幫幫我!

回答

3

如果您使用Detail Bandeport,那麼您將需要該報告的數據查詢。由於它在iReport中返回「No Pages」,因此您沒有查詢。或者只是你的查詢沒有返回任何行。

在舊的iReport中,從數據菜單中選擇報表查詢並在此處輸入您的查詢。如果您只想要一條記錄(即,只有一個細節帶),您可以使用一個虛擬表。像:

SELECT 'a' FROM DUMMY 

否則,如果您不想使用詳細帶,您可以選擇查看其他帶而不使用查詢。從Edit菜單,選擇Report PropertiesMore...選項卡下,標誌When no data設置爲All Sections, no detail

你的問題不是異常或錯誤,它只是沒有數據顯示。

+0

我想你誤會了。我知道這個報告是有效的,因爲它在現場服務器上運行。我正試圖在我的電腦上設置一個開發環境。我很喜歡在iReport中沒有頁面,因爲這意味着它正在工作,我只需要不同的過濾器標準或什麼。我的問題是,當我通過OpenReports運行它時,它什麼都不做。 – William 2010-05-05 15:56:14

+0

在這種情況下,我不確定,但是因爲你說它沒有錯誤就會發現異常,這可能是OpenReport中的一個錯誤。 – medopal 2010-05-05 16:58:35

1

任何空的數據源會做的伎倆了。

0

我一直在面對這個錯誤一段時間。在我的情況下,這個錯誤是由於一個圖像。如果您的報告文件中包含圖像,則當您想要使用報告時,您將被迫使用有效數據填充圖像。如果你不這樣做,你會看到這個錯誤「文檔沒有頁面」。要解決這個問題,只需在屬性窗口中設置「錯誤類型」字段(只需點擊圖片,你會看到屬性窗口)爲「空白」。

強烈的願望。

-1

我有同樣的問題,並得到了搜索問題後,我沒有提供密碼連接。

所以我將這些行添加到我的java代碼中。

Class.forName("com.mysql.jdbc.Driver"); 
con =DriverManager.getConnection("jdbc:mysql://localhost:3306/stock_mngt","root","your password"); 

現在我的代碼工作。

1

當報告沒有記錄或者您丟棄了所有錯誤的過濾器表達式時,無頁面消息出現。

有一對夫婦的事情,你可以嘗試:

  1. 設置過濾器表達式:

    新布爾(真)

這將在某種程度上重置過濾表達式。

  • 右鍵點擊你的碧玉報告
  • 性能
  • 找到更多。 ..

    ,並設置報表屬性「當沒有數據」「所有部分沒有詳細說明」所以你可以看到該報告的至少休息。

謝謝。