Reporting Birt中的复合场

Reporting Birt中的复合场,reporting,birt,Reporting,Birt,我完全是Birt的初学者(实际上这是我第一天使用它),我的任务是创建一个与Flash/Flex中完成的完全相同的Birt报告。。。这份报告看起来很好 问题是:Im my Flex解决方案我有一个DataGrid字段,该字段由一个标签和一个数字输出组成,如果数值为0或更大 基于一个记录集行的两个值,我通过应用Birt的映射特性得到了一个国际化的值(这个allready非常有用)。如果值大于或等于0,则结果字符串应追加“({value})” 在使用设计器时,我只能在它自己的表单元格或表行中放置第二个

我完全是Birt的初学者(实际上这是我第一天使用它),我的任务是创建一个与Flash/Flex中完成的完全相同的Birt报告。。。这份报告看起来很好

问题是:Im my Flex解决方案我有一个DataGrid字段,该字段由一个标签和一个数字输出组成,如果数值为0或更大

基于一个记录集行的两个值,我通过应用Birt的映射特性得到了一个国际化的值(这个allready非常有用)。如果值大于或等于0,则结果字符串应追加“({value})”

在使用设计器时,我只能在它自己的表单元格或表行中放置第二个字段,但似乎无法在一个表单元格中输出两个字段

如果有人能引导我度过这一切,那就太好了


Chris

您可以在动态文本JavaScript Expression中构建整个字符串

中简要介绍了在Javascript中使用i18n。一个有趣的问题可能是-此表达式提供本地化文本:

reportContext.getMessage("companyNameKey", reportContext.getLocale())
行数据存储在
数组中。可以在表达式生成器中找到的所有可用字段。当您找到并双击所需字段时,它会显示如下表达式:

row["FOO_NUMBER"].value
综合起来:

reportContext.getMessage("Foo number:", reportContext.getLocale()) + 
  (row["FOO_NUMBER"].value > 0) ? ( "("+row["FOO_NUMBER"].value+")" ) : ("")

您可以在动态文本JavaScript Expression中构建整个字符串

中简要介绍了在Javascript中使用i18n。一个有趣的问题可能是-此表达式提供本地化文本:

reportContext.getMessage("companyNameKey", reportContext.getLocale())
行数据存储在
数组中。可以在表达式生成器中找到的所有可用字段。当您找到并双击所需字段时,它会显示如下表达式:

row["FOO_NUMBER"].value
综合起来:

reportContext.getMessage("Foo number:", reportContext.getLocale()) + 
  (row["FOO_NUMBER"].value > 0) ? ( "("+row["FOO_NUMBER"].value+")" ) : ("")

感谢Jinowolski的帖子。。。只是想在任何人遇到相同问题时添加完整的解决方案:-)


感谢Jinowolski的帖子。。。只是想在任何人遇到相同问题时添加完整的解决方案:-)


你好谢谢你。它成功了:-)。。。由于我的“FOO_NUMBER”是Float类型,添加该值将导致输出“undefined”。不使用它可以使dynamicText按预期工作。唯一需要解决的问题是,使浮点输出与报告区域设置有关(目前浮点输出格式为“1.4”,在美国是正确的,但在德国必须为“1,4”)。Hi。。。谢谢你。它成功了:-)。。。由于我的“FOO_NUMBER”是Float类型,添加该值将导致输出“undefined”。不使用它可以使dynamicText按预期工作。唯一需要解决的问题是,输出与报告区域设置相关的浮点值(目前浮点值的输出格式为“1.4”,这在美国是正确的,但在德国必须为“1,4”)