有几个BIRT元素用于在报表上放置文本,它们具有重叠的功能。是否有文档讨论哪些因素会使其中一个选择比其他因素更好?
据我所知,Text,Dynamic Text(TextData)和Data具有非常相似的功能。
数据似乎明确地面向数据集中的值...但它也可以显示表达式的结果,报表设计器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
答案 0 :(得分:5)
如果您需要显示单个值,请选择数据元素。由于数据元素允许指定数字,日期甚至字符串的格式,结合通过样式定义格式的可能性,您可以在应用程序上实现各种数据类型的一致格式。
对静态文本使用标签。然后可以在属性文件中提取文本。即使您不需要将报告国际化,也可以在不同的报告中重复使用文本,同样为了保持一致性。
如果要从多个部分构建文本,我使用动态文本元素,例如"label + ': ' + value1 + '/' + value2"
。
我只使用文字元素,只有将文本组成HTML。也许是因为我觉得JavaScript比使用HTML更舒服。我没有客观的理由喜欢动态文本到文本。