2008-09-26 37 views
2

我正在編寫BIRT的第一份報告。在BIRT中,如何從JavaScript訪問任意數據集?

我很快就遇到了一個問題,我想根據一個表達式來顯示一些文本或數據,這些表達式包含來自兩個不同表格的數據(不是可以/應該加入的表格 - (假設示例 - 請學生的ACT我們很快意識到一個數據元素必須綁定到一個數據集(只有其中一個)。

我發現了一個similar question在BIRT郵件列表中,我幫助我找到了一個解決方案 - 我可以將單個數據元素綁定到不同的數據集,但仍然可以訪問其容器的元素,我可以將參數發送到元素綁定的數據集(例如,示例中的「ACT」是mentio以上內容)。

但是最終我來到了一個需要使用三個不同表格的數據的地方。我被困在這裏,而且我假設有一種方法可以通過腳本功能來完成這項工作,但我還沒有在文檔中看到從數據集中提取數據的方法 - 到目前爲止,我處理的所有內容都是與將報表元素綁定到數據集相關聯。

爲了清楚起見,我已經看到我可以將JavaScript函數添加到頂級報告的初始化部分(並通過數據元素中的表達式調用它們),但是我看不到在腳本中我可以如何查詢我的任何數據集 - 而不是僅與綁定到我的數據元素的數據集進行交互)。

如何從BIRT中的JavaScript訪問任意(雖然已定義)的數據集? (或者我怎麼能從一個元素訪問兩個以上的數據集 - 一個是綁定的,一個是它的容器綁定的?)

回答

2

我還沒有試過這麼做一段時間。需要注意的直接答案是您需要將第三個數據集放入一個表(可以將可見性設置爲false),並且您需要將表值填充到GlobalValue。然後,您可以通過腳本從數據控件獲取GlobalValues。

我知道它不漂亮。我將在週末看看2.3是否添加了使這更容易的任何功能。

+0

我想,如果我可以做這樣的事情(綁定到數據,我需要的元素,使其不可見) - 但我認爲肯定所有似乎都存在的腳本功能,必須有更好的方法!我希望聽到你學到的東西。 – pc1oad1etter 2008-09-26 20:57:44

1

使用

 this.getValue()
這將返回當前列的綁定值,而不是
 dataSetRow["RUN"]

相關問題