您想要一份根据声音而定的多栏报告。
在“布局”选项卡上,右键单击没有任何报表对象的位置,然后选择“属性”。单击“布局”选项卡,然后将列数设置为您想要在页面上显示的列数 - 在您的示例中为 2。这将为您提供一列,用于在左侧布置报表对象,并在左侧提供一个灰显的列。右侧将是左侧列重复的位置。
然而,这里有一些技巧:
- 您的列必须适合页面,否则您将不会获得任何列。例如,如果您的布局设置默认为 1 厘米间距和 2.5 厘米左右边距,则您的列在 A4(21 厘米宽)页面上必须小于 7.5 厘米。否则,您只会得到一列,因为页面上放不下两列。
- 设计器中的报表呈现器不支持多列,因此您在设计器中只能看到一列。 HTML 呈现器也不支持多列,当部署到 Reporting Services 服务器并显示为网页时,您只能看到报表的一列。您需要将报表输出到支持多列的渲染器(例如 PDF 或打印机),以便实际查看多列报表中的列。
更新 - 使用表格伪造多列报告
如果做不到这一点,要让它以独立于渲染器的方式显示,请使用两个表的 hack,就像您尝试过的那样,但技巧是以交替的方式隐藏行。
要实现此技巧,请并排创建两个表,它们都指向您的数据集。在第一个表的“详细信息”行中,对于 Visibility-Hidden 属性,使用以下公式:
=iif((RowNumber(Nothing) Mod 2) = 0, True, False)
在第二个表的“详细信息”行中,对于 Visibility-Hidden 属性,使用相反的公式:
=iif((RowNumber(Nothing) Mod 2) = 1, True, False)
这意味着第一个表将打印每个奇数行,第二个表将打印每个偶数行,从而有效地为您提供多列输出。
对于需要两列以上时表可见性的通用解决方案,请使用以下公式:
=iif((RowNumber(Nothing) Mod TOTALCOLUMNS) = THISCOLUMN, True, False)
在哪里:
TOTALCOLUMNS 是总列数
THISCOLUMN 是该表表示的列号,从零开始(即第一列是 0,第二列是 1,等等)
例如,五列输出中第三列的表的 Visibility-Hidden 属性设置为:
=iif((RowNumber(Nothing) Mod 5) = 2, True, False)
请注意,这与真正的多列输出略有不同,因为它是从左到右读取的,而不是像真正多列那样在换行到右侧列之前沿着页面向下读取。然而,它的优点是可以在每个渲染器中正确渲染。
您可以调整此方法来实现真正的多列,方法是从 InteractiveSize-Height 属性计算出页面上可以容纳多少行,并在左表中显示这些列,然后在右表中显示其余列,依此类推。报告,但这可能很脆弱,具体取决于渲染器和更改页面布局设置(例如边距)。上述方法简单有效。