我正在使用SSRS,SQL Server 2008-R2创建报告。该报告有一些矩阵,每个矩阵具有相同的列数,从不同的数据集中提取数据,以提供单个表的外观。 当我在VS中呈现报表时,列看起来很好。具有长文本字符串的列将文本换行,并且列保持对齐。这是我想从报告中获得的行为。但是,当我从浏览器(IE或Firefox)运行报表时,文本不会换行,并且列宽会扩展以适合单行上的文本。这会使报告中包含不同大小的列,它们应该相同。有没有办法强制文本换行并防止列宽扩展?我试过" Can Grow"属性,但它看起来只适用于高度,而不是宽度
答案 0 :(得分:6)
只需双击网格(或文本框)中的字段即可。它会打开一个弹出窗口。根据' General'标签更改'标记类型'来自'无 - 仅限纯文本' to' HTML - 将HTML标记解释为样式。
答案 1 :(得分:2)
看起来SSRS团队试图实施破解词,但没有完成它。我假设他们实际渲染:
<div style="word-wrap:break-word;white-space:pre-wrap;"
class="A28f9f53b98ae45d6a21919d29df775da131">Text </div>
但他们在标记中错过了word-break
属性。 (或者css被破坏,因为它需要word-wrap:break-word
不起作用?:)这里是关于主题的nice investigation
无论如何,要打破列中的文字,请使用报告查看器将以下css添加到您的页面:
div [style*="break-word"] {
-ms-word-break: break-all;
word-break: break-all;
/* Non standard for webkit */
word-break: break-word;
}
注意:这不会破坏列标题中的文本(我更喜欢手动设置列标题换行符,因为文本已修复且在设计时已知)。
答案 2 :(得分:1)
如果所有其他方法都失败,请在列中插入一个矩形,然后将数据字段粘贴到应该执行此操作的顶部
答案 3 :(得分:1)
很抱歉复活了一个古老的话题,但...... 有一种方法可以模拟关闭Word Wrap。你只需将Can Grow设置为&#34; false&#34;对于包含您不想换行的数据的行,然后将行中所有单元格的顶部和底部填充设置为0,将垂直对齐设置为&#34;底部&#34;然后降低高度该行只能显示一行信息(记住允许在行下方延伸的字符)。但是现在我的排很紧,难以阅读。因此,您在上方或下方插入一行(取决于您想要间距的位置),将Can Grow设置为&#34; false&#34;然后将行的高度设置为当前行与其中的数据之间的差异与之前的差异。现在,您有一行不能显示多行信息,而另一行(或更多)则提供您需要的记录之间的间距。是的,它是一个黑客,它是一种痛苦,但它运作良好。