我正在使用SSRS,SQL Server 2008-R2创建一个报告.该报告有一些矩阵,每个矩阵具有相同的列数,从不同的数据集中提取数据,以提供单个表的外观.当我在VS中呈现报表时,列看起来很好.具有长文本字符串的列将文本换行,并且列保持对齐.这是我想从报告中获得的行为.但是,当我从浏览器(IE或Firefox)运行报表时,文本不会换行,并且列宽会扩展以适合单行上的文本.这会使报告中包含不同大小的列,它们应该相同.有没有办法强制文本换行并防止列宽扩展?我尝试了"Can Grow"属性,但它看起来只适用于高度,而不是宽度
只需双击网格(或文本框)中的字段即可.它会打开一个弹出窗口.在"常规"选项卡下,将"标记类型"从"无 - 纯文本"更改为"HTML" - 将HTML标记解释为样式.
看起来SSRS团队已经尝试过实现分词,但没有完成。我认为他们实际呈现的是这样的:
<div style="word-wrap:break-word;white-space:pre-wrap;"
class="A28f9f53b98ae45d6a21919d29df775da131">Text </div>
Run Code Online (Sandbox Code Playgroud)
但他们错过了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;
}
Run Code Online (Sandbox Code Playgroud)
注意:这不会破坏列标题中的文本(我更喜欢手动设置列标题换行符,因为文本在设计时是固定的和已知的)。