Reporting services SSRS表达中的断线

Reporting services SSRS表达中的断线,reporting-services,ssrs-2008,newline,iif,Reporting Services,Ssrs 2008,Newline,Iif,在SSRS 2008中添加换行符时遇到问题 我尝试了所有这些不同的方法,但都没有成功 “+chr(10)+”、“&chr(10)&”、“&chr(13)&chr(10)&”、“&vbcrlf&”、“+vbcrlf+”、“Environment.NewLine” 这是我的文本框表达式: =IIF(First(Fields!VCHTYPE.Value, "Dataset1")="C","This is a huge paragrpah of text." + vbcrlf + "separated

在SSRS 2008中添加换行符时遇到问题

我尝试了所有这些不同的方法,但都没有成功

“+chr(10)+”、“&chr(10)&”、“&chr(13)&chr(10)&”、“&vbcrlf&”、“+vbcrlf+”、“Environment.NewLine”

这是我的
文本框
表达式:

=IIF(First(Fields!VCHTYPE.Value, "Dataset1")="C","This is a huge paragrpah of text." +
vbcrlf + "separated by line feeds at each paragraph." +
vbcrlf + vbcrlf + "I want to separate the paragraphs." +
vbcrlf + vbcrlf + "Its not working though."
, "This is the second huge paragraph of text." +
vbcrlf + "separated by line feeds at each paragraph." +
vbcrlf + vbcrlf + "I want to separate the paragraphs." +
vbcrlf + vbcrlf + "Its not working though." )

使用
Environment.NewLine
代替vbcrlf

您不应该引用您的Environment.NewLine man。请尝试
“您的文本”和环境。新行

这对我很有用:

(在Visual Studio中)

  • 在Designer中打开.rdl文件(右键单击解决方案中的文件) 浏览器>视图设计器)
  • 右键单击正在使用的文本框,选择“表达式”
  • 在“为:值设置表达式”框中输入表达式,如:

    ="first line of text. Param1 value: " & Parameters!Param1.Value & Environment.NewLine() 
    & "second line of text. Field value: " & Fields!Field1.Value & Environment.NewLine() 
    & "third line of text."
    

  • 这对我也不起作用。vbcrlf和Environment.Newline()都没有效果。我的问题是占位符属性的标记类型是HTML。当我把它改为“无”时,它就像冠军一样工作

    如果您的占位符处于html启用模式,则

    将作为换行符使用

    我一直很幸运地使用了Chr(10)和Chr(13)-我在下面提供了一个示例。这是我在报告中的地址文本框的表达式

    =Iif(Fields!GUAR_STREET_2.Value <> "",Fields!GUAR_STREET.Value & Chr(10) & Chr(13) & LTrim(Fields!GUAR_STREET_2.Value),Fields!GUAR_STREET.Value)
    

    对SSSR中的新行使用
    vbcrlf
    。e、 g

    = First(Fields!SAPName.Value, "DataSet1") & vbcrlf & First(Fields!SAPStreet.Value, "DataSet1") & vbcrlf & First(Fields!SAPCityPostal.Value, "DataSet1") & vbcrlf & First(Fields!SAPCountry.Value, "DataSet1") 
    
    你可以用这个

    ="Line 1" & "<br>" & "Line 2"
    
    =“第1行”和“第2行”
    
    为了在SSR中实现换行,有两种方法

  • 设置HTML标记类型
    将占位符的标记类型更新为HTML,然后使用

    标记在表达式中引入换行符
  • =“文本的第一行。Param1值:”&参数!Param1.Value&“
    ”和参数!参数1.值

  • 使用换行功能
    使用Environment.NewLine()函数在表达式中添加换行符
  • =“文本的第一行。Param1值:”&参数!Param1.Value&Environment.NewLine()
    &参数!参数1.值


    注意:-始终记住在每个“&”(和)后面留一个空格,以便正确计算表达式

    在我的情况下,Environment.NewLine在Visual Studio中预览报告时工作正常。但是,当我尝试将rdl发布到Dynamics 365 CE时,收到错误“报表服务器已启用RDLSandboxing,并且文本框“Textbox10”的值表达式包含对不允许的类型、命名空间或成员“Environment”的引用。”


    因此,我不得不用vbcrlf替换Environment.NewLine。

    它对我很有用。预览错误列表时检查它。另外,为了排除这种情况,请尝试将VCHTYPE值替换为“C”。您能否详细说明为什么要使用
    Environment.NewLine
    而不是
    vbcrlf
    ?一个比另一个有什么好处,或者为什么不使用
    vbcrlf
    ="Line 1" & "<br>" & "Line 2"