如何在SSRS 2014

时间:2017-05-30 15:51:57

标签: reporting-services sql-server-2014

我希望SSRS报告中的表格中的列显示为项目符号列表。将从数据库中提取此值。我想将文本框的ListStyle属性设置为Bulleted,以便我可以确保每个项目在换行到新行时都正确缩进。我怎样才能做到这一点?也许我可以使用某个分隔符将值连接在一起,以便每个项目都呈现为列表中的项目符号项。

我意识到我可以在每个项目之间添加一个新行和一个项目符号,但是当项目包装时它们不会缩进。如果我有SSRS 2016,我可以将文本框呈现为HTML并将相应的HTML附加到其中,但此时此选项不适用。

3 个答案:

答案 0 :(得分:0)

自定义代码方法将是您唯一的路线。必须更改此代码,以包括您要分割的行所需的字符。假设字段中有一个字符已被分割。 chr(149)是要点。

Public Function SplitNextLine(ByVal strSplit As String) As String
Dim strArr() As String
Dim i As Integer
Dim sReturn As String = ""
Dim check As String = "vbCrLf"

strArr = strSplit.Split(vbCrLf)

For i = 0 To strArr.Length - 1
If i = 0 Then
sReturn += strArr(i)
Else
sReturn += vbCrLf & Chr(149) & strArr(i)
End If
Next

Return sReturn
End Function

在报表正面的文本框中引用此代码时,您将使用...

Code.SplitNextLine(YourFieldNameGoesHere)

答案 1 :(得分:0)

文本框具有HangingIndent属性。这适用于包装到新行的文本行。您必须给它一个负值,例如-20pt。我建议将每个项目留在自己的行中,而不是尝试连接它们。这样,您可以让报表处理格式,而不是诉诸自定义代码。

如果需要,您可以将包含1个单元格的表放入您想要此列表的位置(即使在另一个表中)。对于每个分组实例,将重复该单元格。只要没有边框,它就会像一个项目符号列表一样。

答案 2 :(得分:0)

我使用子报表来实现此功能。子报表包含一个包含两列的表,第一列包含项目符号,另一列包含文本。如果文本换行到第二行,它缩进就好了,因为它保留在列中。虽然如果有更简单的方法可以做到这一点会很好。