如何在一个textField中显示多个字段值

use*_*815 8 jasper-reports

可以帮助在一个字段中添加多个DB字段值.

假设我有3个DB字段:

Name
Address
Age
Run Code Online (Sandbox Code Playgroud)

我想在同一个字段中显示所有3个字段:

John Peter 28.
Run Code Online (Sandbox Code Playgroud)

我尝试了彼此相邻的3个字段,它确实有效,但是当我包装文本时.看起来很糟糕:

名称

Jo.pe.28
hn te
   r
Run Code Online (Sandbox Code Playgroud)

我的要求是在一个文本字段中显示数据,例如:John.Peter.26

Anu*_*tel 17

如果你想把它们放在一行(我猜是这样的话),它是直截了当的.

把它作为文本框 $F{Name} + "." + $F{Address} + "." + $F{Age}.toString()

或者您可以使用字符串连接(我个人不喜欢语法,需要花费更多精力去理解) $F{Name}.concat(".").concat($F{Address}).concat(".").concat($F{Age})

  • 还有`msg(“ {0}。{1}。{2}”,$ F {name},$ F {Address},$ F {Age})。 (2认同)

Gop*_*h.R 6

SQL方法

为什么不在你自己使用的查询中连接所需的所有3个字段(假设你在Postgres.),

select (name || address|| to_char(age)) as data from my_table
Run Code Online (Sandbox Code Playgroud)

在Ireport

如建议的那样

$F{Name} + "." + $F{Address} + "." + $F{Age}.toString()
Run Code Online (Sandbox Code Playgroud)

如果需要使其在报告中起作用,也会起作用.

确保所有字段都具有相同的数据类型.

  • 另外,用户可能需要/想要在其他地方分别使用这些字段。 (3认同)