【问题标题】:Float or wrap text around a chart?在图表周围浮动或环绕文本?
【发布时间】:2017-06-06 13:56:47
【问题描述】:

我一直在寻找我的问题的答案,但我似乎找不到任何东西。有谁知道在 SSRS 中围绕图表或图像包装/浮动文本的方法?我希望有某种类似于 Word 中下面蓝色选项的选项,但那里没有运气:

我找到了以下帖子,其中有一个很好的示例图像,说明我正在寻找什么,但没有任何有用的答案(我没有使用 Crystal Reports,我通过 Visual Studio 2015 使用 BIDS SSRS )。

Crystal report (or SSRS) flowing text around image

我尝试了以下方法:

  1. 在图像顶部覆盖文本框(渲染将图像推到文本下方)
  2. 试图找到或创建一个疯狂的科学家算法,可以在一定数量的字符后分割文本,但不能在一个单词的中间,砍掉剩下的,并在下面的单独文本框中继续剩下的文本图片(不是疯狂的科学家,所以运气不好)

感谢您的任何提示!

【问题讨论】:

  • 您使用的是什么版本的 SSRS?
  • 我使用的是 2012 年,但我相信我们用来提供报告的 ​​Sharepoint 服务器是 2008 年的(我无法控制——去年我一直要求升级它) .

标签: reporting-services


【解决方案1】:

在 SSRS 中没有内置的方法来执行此操作。

有人编写了一个函数来确定给定文本字符串中有多少像素。

Truncate textbox content with ellipsis in SSRS

Public Function TextWidth(str As String) AS Double
    'Returns the width, in pixels, of a string, assuming Tahoma size 8.
    Dim size As System.Drawing.SizeF
    Dim font As New system.Drawing.Font("Tahoma", 8)
    size = System.Windows.Forms.TextRenderer.MeasureText(str, font)
    TextWidth = size.Width
End Function

您也许可以使用它来确定在第一个文本框中中断的位置,并将其余的溢出到第二个文本框中。您只需要进行测试以确定您的第一个文本框包含多少像素的文本。

一旦你确定了多少像素适合(我会用文本填充第一个文本框,然后使用该函数查看该文本有多少像素),将另一个 TextCap 函数更改为返回像素分割处的第一部分或第二部分。您可以在函数中添加一个参数来指示是返回文本的第一部分还是第二部分。然后使用第一个文本框中的函数返回第二个文本框中的第一部分和第二部分。

这有点工作,但似乎可行。这取决于你想要它有多糟糕以及你有多少时间。

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多