Tablix 将其他元素向下推

Tablix pushing other elements down

我有一份包含 tablix 的报告。我只需要将 tablix 保持在固定位置,不应该将其他元素向下推。如果说有 4 行将在指定的 space 中可见,如果更多,则它不应该是可见的,也不应该下推其他元素。 我尝试了几种方法来防止

  1. 在矩形内添加了 tablix(充当容器),因此如果将其分组 不会压低其他元素(没用)
  2. 在 report=true 中启用消耗白色 space(无效)
  3. 将项目放在一起 属性 在矩形中设置为 true(无效)

即使 tablix 提供了更多行,是否还有其他方法可以不下推报表中的元素。它应该只显示上述大小的行。

编辑:1(2018 年 7 月 28 日)

如果 table 有更多行,下面的所有三个元素都会被下推。 要么我必须在可能的情况下通过自动减小大小来适应这个 table 中的行,或者它不应该下推元素。 此外,如果 tablix 的行数较少,则元素将向上移动。我只需要让元素 (Expr) 保持在相同的位置。

如果您希望您的报告是静态的,为什么不截取数据的屏幕截图并将其作为图像包含在您的报告中?

任何严肃的报告工具都不会 "ignore" 记录您使用数据集传递给它的记录,因此您必须自己 "ignore" 自己处理所有不需要的数据。将数据集中的数据限制为仅 4 行(可能使用 SELECT TOP 4 ...)。

您可以在数据集中包含一个显示数据行号的列(我们称它为 RowNumber)。然后在您的 Tablix 筛选器中,您可以将筛选器设置为仅显示 "RowNumber" 列中小于或等于要在 Tablix 中显示的行数的值。

您可以使用相同的概念来限制查询中返回的行数,但如果不知道您是如何获取数据的,则无法提供帮助。

您仍然没有 post 您的设计,但无论如何,这就是我认为您想要的。

使用相同大小的矩形来设置您希望 table 覆盖的区域的基本思路。然后随着 table 中行数的增加,我们将在合理范围内降低行高。由于您不能直接更改行高,我们可以通过将行高设置得非常小并调整字体来解决这个问题,只要可以增长选项在单元格上就会增长以适应字体大小,从而产生效果更改行高。

基本步骤。

创建您的报告并添加一个您希望 table 达到的最大尺寸的矩形。在我的示例中,它高 38 毫米。

在矩形内创建一个table。我发现在外面创建它然后在里面剪切和粘贴它更容易,只是将它拖到矩形上是行不通的。

根据需要将其他文本框放置在矩形下方。在报表属性中设置 'Consume Container WhiteSpace'。

接下来我们需要决定接受的最大和最小字体大小是多少table。在这个基本示例中,我只使用了 3 种尺寸,10pt、12pt 和 14pt。如果你想使用更多,那么你可以编写一个表达式来更准确地缩放字体,但你明白了。

您需要确定在使用最小字体大小时可以容纳在矩形中的最大行数,在我的例子中是 5 行 10pt 字体。您的查询需要考虑这个数字,绝不能 return 行超过此数。

在 table 上,单击详细信息行的行选择器(这基本上选择了该行中的所有单元格)。接下来,将字体大小 属性 更改为表达式。在这个简单的例子中,我使用了这个。

=SWITCH(
Parameters!topx.Value <3 , "14pt",
Parameters!topx.Value <5 , "12pt",
True, "10pt"
)

接下来设置行高,选择行上的任何单元格并将高度设置为较小的值,我使用 4 毫米,但只要它比你显示的要小就没关系。

在我的示例中,为了测试,我添加了一个 'topx' 参数并使用它过滤了数据集,但这仅用于测试。

最终的设计是这样的。我为矩形添加了背景色,这样您就可以看到它在填充之前如何保持静态。

然后运行各行看起来像这样

最后,只有当我超过最大值(在本例中为 5 行)时,下面的文本才会向下移动。