2014-06-13 26 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) –