0

我是 BIRT 和 javascript 的新手。我做了一个报告,其中空值由空格表示。我想用默认字符串替换这些空白,例如用“--”。这是我当前报告的显示方式:

 Date         Temperature    Pressure    Weight    Colour
20130717       102                                  red
20130716                                   100      blue
20130715                        20         150

空格对应于数据库中列的空值。现在,我希望报表以下列方式显示:

 Date         Temperature    Pressure    Weight    Colour
20130717         102             --         --      red
20130716         --              --        100      blue
20130715         --              20        150       --

即,具有空值的单元格将替换为默认字符串“--”。如何使用 javascript 或任何其他方法在 BIRT 中执行此操作? 此外,所有数据集都是 varchar 类型。

4

2 回答 2

3

执行此操作的最简单方法是COALESCE在数据集的查询中使用 - 如下所示:

SELECT ...
       COALESCE(Temperature, '--') as Temperature
       ...

但是,如果您想在 BIRT 本身中执行此操作,一种方法是:

  • --在每个详细信息行单元格中添加一个带有内部的标签项;
  • 在属性编辑器中,将每个数据项的可见性设置为在以下条件下隐藏:(row["temperature"]<=''使用适当的列名)。
  • 在属性编辑器中,将每个--标签项的可见性设置为在以下条件下隐藏:(row["temperature"]>''使用适当的列名)。
于 2013-07-25T13:20:42.990 回答
2

你没有说你的数据源是什么,但如果是 SQL 数据库,在你的 SQL 查询中使用这些 SQL 函数之一来转换 Null。

ISNULL() 
NVL(),
IFNULL(),  
COALESCE() 
于 2013-07-25T12:58:28.027 回答