導致執行與BIRT測試我能夠創建報告,呈現在PDF行數據,但可惜的是我沒有得到預期的結果。不能使用來自腳本的DataSet
對於我的數據源我創建了一個腳本數據源,並在那裏被不需要的代碼(只要我能看到的文件來實現我想要做的)。
對於我的數據集我創建一個使用我的腳本數據源作爲源的腳本數據集。在那裏,我所定義的腳本開放,如:
importPackage(Packages.org.springframework.context);
importPackage(Packages.org.springframework.web.context.support);
var sc = reportContext.getHttpServletRequest().getSession().getServletContext();
var spring = WebApplicationContextUtils.getWebApplicationContext(sc);
myPojo = spring.getBean("myDao").findById(params["pojoId"]);
而且腳本獲取像:
if(myPojo != null){
row["title"] = myPojo.getTitle();
myPojo = null;
return true;
}
return false;
由於row
人口將在運行時完成,我無法自動獲得DataSet列,所以我使用以下配置創建了一個:name:columnTitle(因爲這是用於在提取代碼中填充行對象的名稱)。
之後,我編輯了報告的佈局,並將該列添加到了我的佈局中。
我能夠確認spring.getBean("myDao").findById(params["pojoId"]);
執行。但我提交的報告沒有顯示標題。如果我在報告佈局上雙擊我的列標籤,我可以看到那裏的表達式是dataSetRow["columnTitle"]
是不是?即使我在我的抓取腳本中使用了行?我在這裏錯過了什麼?
對不起錯誤的抓取版本,我只是糾正它。我只是把它拖放到佈局上,應該夠了,不是嗎?當在那裏使用'row'變量並且聲明行鍵(在這種情況下是'columnTitle')作爲列輸出時,'fetch'的代碼是正確的嗎? –
您是否以HTML格式運行報告並查找以紅色顯示的Javascript錯誤? – hvb
也許有必要創建一個報表變量來存儲myPojo,在代碼中用vars [「myPojo」]來訪問它,而不僅僅是myPojo。 – hvb