SSRS 2008中的文本框格式 - 中断行

Eli*_*ias 5 formatting reporting-services ssrs-2008

所以,说我有以下字符串

THIS IS STUFF (MORE STUFF)
Run Code Online (Sandbox Code Playgroud)

如何在SSRS的文本框中将字符串格式化?

THIS IS STUFF
(MORE STUFF)
Run Code Online (Sandbox Code Playgroud)

此数据是从查询中的单个字段中提取的,我将无法手动注入中断行.

此外,有时(更多东西)不在现场.

额外的例子:

  • 傻瓜和事
  • 事(STUFF)
  • 东西和东西(更多的东西)
  • Ian*_*ton 6

    您需要在字符串中插入换行符,即将文本框表达式设置为:

    ="THIS IS STUFF" & vbcrlf & "(MORE STUFF)"
    
    Run Code Online (Sandbox Code Playgroud)

    所以表达式在一个文本框中:

    在此输入图像描述

    将呈现为:

    在此输入图像描述

    即使字符串可以放在一行上,您也可以看到换行符.

    评论后编辑

    好的,我们需要在报告级别处理各种现有字符串.

    为此,我建议使用自定义代码,即:

    Function SplitString (fieldValue As String) As String
      If IsDBNull(fieldValue) OrElse IsNothing(fieldValue) Then
        SplitString = ""
      Else If InStr(fieldValue, "(") > 0
        SplitString = RTrim(Left(fieldValue, InStr(fieldValue, "(") - 1)) & _
          vbcrlf & Right(fieldValue, Len(fieldValue) - InStr(fieldValue, "(") + 1)
      Else
        SplitString = fieldValue
      End If
    End Function
    
    Run Code Online (Sandbox Code Playgroud)

    我建议这样做,因为SSRS表达式是众所周知的脆弱,并且缺少短路意味着对一个字符串起作用的东西可能会显示#Error在另一个字符串上.您可以通过众多IIf声明解决这个问题,但自定义代码更简洁,更容易理解.

    您可以使用如下表达式调用该函数:

    =Code.SplitString(Fields!MYFIELD.Value)
    
    Run Code Online (Sandbox Code Playgroud)

    在文本框表达式中或在数据集中作为计算字段.以上对我的数据有用:

    在此输入图像描述

    在此输入图像描述