【问题标题】:Displaying overflow in footer field on a new page在新页面的页脚字段中显示溢出
【发布时间】:2010-11-24 11:27:21
【问题描述】:

我的报表页脚中有一个 TextBox,它占用一列最多可存储 5000 个字符,但页脚中的 TextBox 由于其大小而不能占用 5000 个字符。在我的测试中,TextBox 显示了许多介于 1000('M' 字母)和 1800(点)之间的字符。

如果此字段溢出,我希望创建一个新页面,并且我希望溢出的部分显示在后续页面的页脚中,从而为列提供适当的空间,分为两页或更多页。

总结:我不想每隔一页在页脚文本框中显示我的超大字段的开头,而是希望该字段的全部内容显示在几个页面的页脚中。

注意: 定义要在第一页显示的字符数,并在其他页面中显示其余字符不是一种选择,因为在字符和长度使用固定数字,因为每个字符都有不同的长度。

注意2:是否需要更多信息?如果你问,我会彻底描述它!发表评论

【问题讨论】:

  • 您是否考虑过将页脚中的字体更改为固定宽度的字体,以便固定要使用的字符数?
  • @RC_Cleland 该报告实际上遵循巴西的货物运输文件标准,并且它有一组支持的字体:(

标签: sql sql-server-2005 reporting-services reporting reportingservices-2005


【解决方案1】:

GDI 将助您一臂之力。您可以使用 GDI 的 MeasureString 来测量给定特定字体的字符串。看到这个MSDN link

了解您的页脚区域有多大、自定义 WillStringFitInMyFooter 函数和报告工具中的一千个瘀伤,我认为您可以解决这个问题。

【讨论】:

  • 这个逻辑有问题。即使我知道它需要转到新页面,我也不知道在哪里进行剪切,因为无论如何我都不知道长度在哪里达到第一页的限制,除非有某种方法通过SSRS找出字符串的长度。另一件事:没有办法完全在 SSRS 中做到这一点吗?谢谢!
  • 不确定 SSRS。也许别人会知道。我在想一些更像这样的东西: public string GetTheOverflow(string fullString, Font fontToUse, SizeF sizeOfBox) { // Loop (or b-tree through) 问“适合吗?”在子字符串上,直到完成或返回否。超出这一点的一切都是溢出的。 }
  • 哦,这很有道理..但我仍然需要在 SSRS 之外处理它,我正在寻找的解决方案最好是报告解决方案中的更改.. 但是谢谢!这给了我一些想法
  • 虽然问题已经通过其他方式解决了,但我接受了这个答案,因为它非常有用。
猜你喜欢
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-02
  • 2013-07-18
  • 1970-01-01
  • 2019-11-09
相关资源
最近更新 更多