[RDLC在单词太长时不换行

问题描述 投票:0回答:3

我有一个带有Tablix的RDLC报告。 Tablix具有绑定到数据集的行。该行具有一个宽度为400像素的文本框。

如果您从数据集中得到一个带有空格的长字符串,它将按照预期的方式工作并将该字符串换行,使文本框垂直增长。当您从数据集中获取一个没有空格的长字符串时,就会发生问题,当字符串到达​​文本框的末尾时,字符串不会中断。而是,文本框将水平增长以适合字符串。

如何断开字符串并防止文本框水平增长?


咨询How to maintain long text inside RDLC report column ?之后

  • 计算字符数不能解决问题:数据来自数据库,因此几乎可以是任何东西。而且由于我没有使用控制台字体,所以字母的大小将不相同,因此,适合空格的'@'数量与'i'的数量也不相同。
  • CanGrow属性绑定到TextBox:因此,即使您可以选择一列并将CanGrow设置为true,也不会将Column本身设置为停止水平增长,它只会将所有选定的Textboxes'CanGrow'属性设置为False。
  • CanGrow属性仅防止行垂直增长:即使单击列。 CanGrow属性仅影响高度。
reportviewer rdlc line-breaks
3个回答
0
投票

我自己找到了解决方案。 RDLC报告接受HTML作为Expression,因此您所需要做的就是:

  • 在表达式内设置一个固定宽度的div。
  • 将MarkupType设置为HTML

查看报告代码如何更改:

之前:

<Paragraphs>
    <Paragraph>
        <TextRuns>
            <TextRun>
                <Value>=Fields!TextoCliente.Value</Value>
                <Style>
                    <FontSize>8pt</FontSize>
                </Style>
            </TextRun>
        </TextRuns>
        <Style />
    </Paragraph>
</Paragraphs>

之后:

<Paragraphs>
    <Paragraph>
        <TextRuns>
            <TextRun>
                <Value>="&lt;div style='width:400px'&gt;" &amp; Fields!TextoCliente.Value &amp; "&lt;/div&gt;"</Value>
                <MarkupType>HTML</MarkupType>
                <Style>
                    <FontSize>8pt</FontSize>
                </Style>
            </TextRun>
        </TextRuns>
        <Style />
    </Paragraph>
</Paragraphs>

[您可以在Designer查看器中设置表达式,以避免不得不用'&lt'替换'


0
投票

[以防万一其他人找到了这个,可能的重复链接(How to maintain long text inside RDLC report column ?)中有一个新答案似乎实际上是正确的,并且比这里或那里的公认答案更简单。

https://stackoverflow.com/a/47495098/793387


-1
投票

我已经决定在答案中添加图片,以帮助您准确解释发生了什么。

我将遵循MSDN教程中的步骤:Change Row Height or Column Width (Report Builder and SSRS)首先显示如何设置固定的height,然后显示如何执行相同的操作来设置固定的width


为了防止行自动垂直扩展

  1. 在设计视图中,单击tablix数据区域中的任意位置以选择它。灰色行手柄出现在tablix数据区域的外部边框上。 enter image description here

  2. 单击行句柄以选择行。 enter image description here

  3. 在属性窗格中,将CanGrow设置为Falseenter image description here

为了防止出现a >> column 自动扩展 水平

  1. 在设计视图中,单击tablix数据区域中的任意位置以选择它。灰色的[[column

    控柄出现在tablix数据区域的外部边框上。 enter image description here
  2. 单击

    column

  3. 手柄以选择columnenter image description here在属性窗格中,将CanGrow设置为Falseenter image description here

  • 我衷心希望这足够详细。
  • © www.soinside.com 2019 - 2024. All rights reserved.