SSRS表达式中的新行

时间:2018-10-04 09:02:37

标签: sql-server reporting-services

我有一个表达式应该位于一行中。但数字跳到了文本框中的另一行。我该怎么做才能使它成为一行。 输出为

2018-06-26HP-HPP
4

代码:

=Trim(Format(CDate(Fields!Startdate.Value), "yyyy-MM-dd")) & Trim(Fields!Register.Value) & Trim(DatePart(DateInterval.Hour,  Fields!GSTIME.Value)).ToString()

预期答案应为:

2018-06-26HP-HPP4

谢谢

迈克尔

1 个答案:

答案 0 :(得分:0)

如果这是您的预期结果

layout_marginLeft

来自

2018-06-26HP-HPP4

但是你得到了

=Trim(Format(CDate(Fields!Startdate.Value), "yyyy-MM-dd")) & Trim(Fields!Register.Value) & Trim(DatePart(DateInterval.Hour,  Fields!GSTIME.Value)).ToString()

文本框足够大,可以在一行上显示,那么我怀疑您在2018-06-26HP-HPP 4 字段中有换行符

因为

预期结果的第一部分(Fields!Register.Value)来自

2018-06-26

第二部分(Trim(Format(CDate(Fields!Startdate.Value), "yyyy-MM-dd")))来自此

HP-HPP

最后一部分(4)来自此

Trim(Fields!Register.Value)

您在文本框中看到的新行位于第二部分和第三部分之间,我怀疑可能在Trim(DatePart(DateInterval.Hour, Fields!GSTIME.Value)).ToString()的内容中

如果此字段位于db表中,则当您选择列搜索并替换为隐藏的回车符,换行符和制表符时。

这是一种方式

Trim(Fields!Register.Value)

输出

DECLARE @tmp TABLE (tmp NVARCHAR(50))
INSERT INTO @tmp (tmp)
SELECT 'Help' + CHAR(10) + 'me' + CHAR(9) + 'please' + CHAR(13)

DECLARE @val NVARCHAR(50) = (SELECT tmp FROM @tmp )
PRINT @val

删除隐藏的字符

Help
me  please

输出

SET @val = (SELECT REPLACE(REPLACE(REPLACE(ISNULL(tmp,' '), CHAR(10), ' '), CHAR(13), ' '), CHAR(9), ' ') FROM @tmp ) PRINT @val