SSRS列宽度增长,文本未包装

use*_*604 7 ssrs-2008-r2

我正在使用SSRS,SQL Server 2008-R2创建一个报告.该报告有一些矩阵,每个矩阵具有相同的列数,从不同的数据集中提取数据,以提供单个表的外观.当我在VS中呈现报表时,列看起来很好.具有长文本字符串的列将文本换行,并且列保持对齐.这是我想从报告中获得的行为.但是,当我从浏览器(IE或Firefox)运行报表时,文本不会换行,并且列宽会扩展以适合单行上的文本.这会使报告中包含不同大小的列,它们应该相同.有没有办法强制文本换行并防止列宽扩展?我尝试了"Can Grow"属性,但它看起来只适用于高度,而不是宽度

N R*_*ing 6

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

  • 请注意,此设置位于 __Placeholder__ 属性中,而不是位于文本框属性中。(以防“双击”无法到达您需要去的地方)。 (2认同)

Isa*_*pov 2

看起来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)

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