2011-01-05 19 views
0

BIRT報告可以限制數據集設置中jdbc數據集的最大行提取大小。 這是一個手動輸入的Integer。我正在尋找一種方法將此動態從ReportParameter傳遞給jdbc數據集以限制檢索到的行。BIRT jdbc數據集。動態最大行提取

我喜歡這樣做,例如在JavaScript中的beforeOpen()鉤子因爲直接在SQL中設置限制是DBMS特定的,我希望報表能夠在多個DBMS(Oracle,MySQL,DB2,Sybase,...)上運行

回答

2

beforeFactory()鉤子:

reportContext.getReportRunnable().designHandle.getDesignHandle().findDataSet("Data Set").setRowFetchLimit(params["my_limit"].value); 

一般來說,很多beforeFactory()的東西開始與reportContext.getReportRunnable().designHandle.getDesignHandle()。你可以在這裏找到任何報告元素,甚至可以遍歷所有元素。

當你find()元素,並不是在ctrl + space幫助中列出的所有方法。更多包含Eclipse幫助:BIRT程序員參考 - >參考 - > API參考 - >報告對象模型API參考模塊句柄是開始的好地方。

我不確定,如果有一個較短的點鏈訪問報表設計句柄。如果是這樣,請糾正我。

+0

+1讓我花了一段時間來理解和整合在我的報告中。完美的作品! – 2011-01-07 10:21:10

+0

reportcontext.getDesignHandle()應該像火車殘骸一樣好 – jinowolski 2011-03-24 15:11:53