【发布时间】:2015-09-23 18:27:42
【问题描述】:
我有一份带有 Tablix 的 RDLC 报告。 Tablix 有一个绑定到数据集的行。该行有一个宽度为 400 像素的文本框。
如果您从 DataSet 中获得一个带有空格的长字符串,它将按预期运行并在新行中断开该字符串,从而使文本框垂直增长。当您从 DataSet 中获得一个没有空格的长字符串时,就会出现问题,该字符串在到达文本框末尾时不会中断。相反,文本框将水平增长以适应字符串。
如何断开字符串并防止文本框水平增长?
咨询后How to maintain long text inside RDLC report column ?
- 计算字符数并不能解决问题:数据来自数据库,因此它几乎可以是任何东西。而且由于我没有使用控制台字体,因此字母的大小不会相同,因此适合空格的“@”的数量与“i”的数量不同。
- CanGrow 属性绑定到 TextBox:因此,即使您可以选择一列并将 CanGrow 设置为 true,它也不会将 Column 本身设置为停止水平增长,它只会将所有选定的文本框的“CanGrow”属性设置为 False .
- CanGrow 属性仅防止行垂直增长:即使您单击列。 CanGrow 属性仅影响高度。
【问题讨论】:
-
不,CanGrow 只能垂直工作,而 System.Environment.NewLine 只是没用,因为我的数据来自数据库,我不能只是“试错”它。
-
等等...您希望列/文本框水平增长?还是应该双向增长?还是应该根本不增长,只显示给定空间中的文本?我读它是因为你想要一个固定的宽度并让它垂直增长。您可以获取数据集,对其进行更改,然后将其添加到报告中,这应该不是问题。您可以反复试验,只需检查 400px 中有多少个“@”字符并在此处添加换行符......
-
文本框当前水平增长。我希望文本框垂直增长。 “CanGrow”属性防止文本框垂直增长,这就是它不能解决我的问题的原因。不,反复试验无法解决,因为我的数据不仅是“@”,适合 400px 的“@”的数量远小于“i”的数量,所以计算字符是一个糟糕的解决方案.
-
如果您仔细阅读另一篇文章中的答案,您会发现这正是您要寻找的。将文本框放在 Tablix 中,并将 column
CanGrow设置为 False 并将 rowCanGrow设置为 True。这将使文本框垂直增长。我看不出有什么问题。就您的其他评论而言,您可以更详细地描述您的问题。
标签: reportviewer rdlc line-breaks