2014-06-13 40 views
2

有幾個BIRT元素用於在報告上放置文本,並且它們具有重疊的功能。是否有文檔討論哪些因素會使其中一個選擇比其他因素更好?BIRT文本元素選擇 - 何時選擇文本與動態文本與數據還是標籤

據我所知,文本,動態文本(TextData)和數據具有非常相似的功能。

數據看起來很明確地傾向於從數據集呈現值...但它也可以呈現表達式的結果,並且報表設計器UI可以訪問數據元素的表達式編輯器。

Text元素似乎是報表設計器UI呈現HTML/Plain備選項和關聯的HTML格式設置和評估標記(包括VALUE-OF)的唯一元素,它可以輕鬆混合文本,表達式評估和格式。

通過報表設計器的動態文本元素直接跳入表達式構建器,因此這些元素可能主要用於動態表達式評估的結果。

它似乎是標籤是最有限的,也許只有目前的靜態文本字符串。

但是我很難找到討論這個問題的文檔。有一個頁面https://www.eclipse.org/birt/demos/,其中有一個預告片「這個例子演示瞭如何在報告設計中使用標籤,文本,動態文本,數據和圖像元素,還標識了元素之間的一些主要特徵和差異。」我已經下載了這個例子,但是我找不到任何討論。當我在https://www.eclipse.org/birt/phoenix/ref/rom/上搜索BIRT報告對象模型(ROM)時,我發現每個元素的頁面以及並排比較,我都可以看到不同之處,但我想知道是否有人發佈了有關其中存在情況的例子的討論對一個人而言是明顯的優勢。

這裏是鏈接到BIRT ROM:

https://www.eclipse.org/birt/phoenix/ref/rom/elements/Text.html 
...TextData.html 
...Data.html 

回答

4

身高:數據元素,如果你需要顯示單個值。由於數據元素允許爲數字,日期和甚至字符串指定格式,並且可以通過樣式定義格式,所以您可以在應用程序中爲各種數據類型實現一致的格式。

使用標籤爲靜態文本。文本可以在屬性文件中提取。即使您不需要將報告國際化,也可以重複使用不同報告中的文本,以保持一致性。

我使用動態文本如果要從多個部分構建文本(例如, "label + ': ' + value1 + '/' + value2"

我會使用文本元素,只有當文本被組成HTML時。也許是因爲我比JavaScript更適合使用JavaScript。我沒有客觀的理由選擇動態文本到文本。

+0

動態文本與文本就像Java Servlet vs. JSP一樣。功能相同,只是語法不同。我更喜歡動態文本,因爲語法通常不太冗長(我不喜歡 ...)。 – hvb

+0

還應該指出,你的選擇應該考慮到預期的發射器。例如。WordEmitter忽略標籤和數據項目的填充和邊框,但支持[動態]文本項目的相同屬性。 – hvb

+0

[如果您嘗試在BIRT中執行任何數據綁定,請勿使用動態文本項目,請使用數據項目。爲您提供相同的JavaScript/Display選項,但增加了使用結果的選項。](http://stackoverflow.com/questions/17260665/how-to-access-a-specific-cell-in-birt-dataset/17277720 #17277720) –