SSRS:报表标签位置动态化

3
我有一个报告,其中显示了多个标签中的客户地址。
我的客户使用窗口信封进行邮寄。我需要可配置地址标签的位置。
类似于,我将拥有一个数据库表,其中存储每个客户每个标签的顶部/左侧位置。基于此表,我需要在我的报告上定位地址标签。
我认为可以通过表达式实现,但Location属性不提供设置表达式并使标签的顶部和左侧动态的能力。
任何人有想法如何实现吗?
4个回答

2

正如您所提到的,您无法为位置属性设置表达式。我之前也想这样做,但似乎没有解决该问题的方法。


经过进一步的研究,我开始同意你的看法,这是无法完成的 :-( - Numan

1
如他人所述,它不受支持。但是,这里有两种基本报告的丑陋解决方法。
使用填充进行解决。
您无法在标签位置上设置公式,但可以使用填充选项代替。
1.因此,您可以将标签设置为与报告一样宽,并且与区域一样高。 2.还要将标签的水平对齐设置为“左”,垂直对齐设置为“顶部”。 3.然后,在左侧和顶部填充中添加公式以偏移文本。

enter image description here

您还可以通过将水平对齐设置为“右侧”并使用右侧填充而不是左侧填充来使标签右对齐偏移,从而使内容更加易懂。使用相同的方法,您可以使用“底部”垂直对齐和底部填充来从底部偏移。但是请注意,这种方法会在报表设计器中创建混乱,因为所有动态标签都会彼此重叠并占用静态标签上的所有空间。此外,请注意,使用此方法,您将无法添加文本周围的边框和超链接等花哨的东西。
解决方法是使用子报表。如果标签的不同位置数量非常低,则可以为每种可能性创建一个子报表,并使用公式显示正确的子报表以适应不同情况。不幸的是,这对于页眉中的标签不起作用,因为不允许使用子报表。

1

对于重复发布我深感抱歉

我曾经遇到过和你一样的问题。我使用了一个老的HTML技巧来解决它。它涉及使用一个透明的.gif图片。您先放置您的图像(链接到gif),然后在其上方放置标签。通过使用参数,您可以通过为两个控件的隐藏属性设置表达式来切换要显示的项。


0

没有解决方案,因为它不受支持!!!

来自 MS 在线社区支持...

"据我所知,报告中文本框的位置是静态而非动态的,因此它不会向左移动。"

参考:http://forums.asp.net/t/1433297.aspx


我和你一样遇到了同样的问题。我通过使用一个旧的HTML技巧来解决这个问题。它涉及在图像中使用一个transparent.gif。你把你的图像(链接到gif),然后把你的标签放在上面。使用参数,你可以通过为两个控件的隐藏属性设置表达式来切换要显示的项目。 - coson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接