SSRS列宽度增加,文本不换行。

8
我正在使用SSRS和SQL Server 2008-R2创建报告。该报告有几个矩阵,每个矩阵有相同数量的列,从不同的数据集中提取数据,以呈现单个表的外观。 在VS中呈现报告时,列看起来很好。具有长文本字符串的列会将文本换行,而且列保持对齐。这是我想要的报告行为。然而,当我从浏览器(IE或Firefox)运行报告时,文本不会换行,列宽度会扩展以适应单行文本。这使得报告的列大小不同,但它们应该是相同的。是否有一种方法可以强制文本换行并防止列宽度扩展?我尝试了“Can Grow”属性,但似乎仅适用于高度,而不是宽度。
4个回答

8

只需要在网格(或文本框)中双击该字段,它将打开一个弹出窗口。在“常规”选项卡下,将“标记类型”从“无-仅纯文本”更改为“HTML - 将HTML标记解释为样式。”


2
请注意,此设置位于 Placeholder 属性中,而不是文本框属性中(以防“双击”未将您带到所需位置)。 - gremlin

2
看起来SSRS团队尝试实现了断词,但没有完成。我这么假设是因为他们实际上呈现出:
<div style="word-wrap:break-word;white-space:pre-wrap;" 
     class="A28f9f53b98ae45d6a21919d29df775da131">Text </div>

他们的标记中缺少word-break属性(或者是CSS出了问题,因为它要求同时使用word-wrap:break-word也不起作用?:) 这里有一篇关于这个主题的不错的调查报告)

无论如何,若要在列中断开文本,请将以下CSS添加到带有报表查看器的页面中:

    div [style*="break-word"] {
        -ms-word-break: break-all;
        word-break: break-all;
        /* Non standard for webkit */
        word-break: break-word;
    }

注意:这不会在列标题中断开文本(我更喜欢手动设置列标题换行,因为设计时文本是固定的且已知的)。

1
这对Word导出有用吗?我只在导出格式中遇到了这个问题。WebView看起来是正确的,但一旦我将其导出到Word中,就没有单词换行... - minohimself

2
抱歉打扰了一个旧话题,但是......有一种方法可以模拟关闭自动换行。只需将包含不需要换行的数据的行的Can Grow设置为“false”,然后将该行中所有单元格的上下填充设置为0,将垂直对齐设置为“底部”,然后将行高减少到仅能显示一行信息(记得考虑那些超出行高的字符)。但现在我的行非常紧凑,很难阅读。所以你可以在上面或下面插入一行(取决于你想要的间距),将Can Grow设置为“false”,然后将该行的高度设置为具有数据的行当前高度和以前高度之间的差异。现在你有一行无法显示多行信息,而另外一行(或多行)提供了你需要的记录之间的间距。是的,这是一种hack方法,而且做起来有点麻烦,但它确实有效。

1
如果其他方法都失败了,可以在一列中插入一个矩形,然后将数据字段粘贴在其上方,这样就可以完成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接