代码之家  ›  专栏  ›  技术社区  ›  ray

如何使报表中的列在多列报表中自动换行和/或换行?

  •  0
  • ray  · 技术社区  · 14 年前

    我有一个报告,其中我将columns属性指定为3。

    我希望从单个查询获得的数据分布在这些列中。

    然而,当我打印报告时,我只得到一个跨越多个页面的单列,直到数据行用完。

    如何告诉RS我希望数据包装到接下来的两列中?

    更新:好的,找到一个 link 在TechNet上,让我更好地解释多列(如时事通讯样式):

    多列、时事通讯式报告 多个向下显示报告数据 相邻列。时事通讯风格 布局应用于整个报告。 当定义多个列时 在报表中,报表设计器 计算中列的宽度 报告,报告的宽度, 以及之间的空间宽度 列数基于 柱。然后它显示一个减少的 设计表面以便放置 报告将要 安装在柱内。注意, 整个报告的布局必须 放在缩小的设计面上。 其他列显示为 您可以验证 您定义的列将适合页面 尺寸尺寸。你可以调整页面 大小、填充和边距以适应更多 页面上的列。

    仅支持PDF和图像渲染器 时事通讯式报告。

    我还没弄清楚怎么做柱状包装……不过星期一我会进一步研究的。

    1 回复  |  直到 14 年前
        1
  •  0
  •   ray    14 年前

    我通过以下方式解决了我的问题:

    1. 在我的子报表中放置3个Tablix
    2. 在我的SQL结果中添加计数聚合
    3. 在Tablix筛选器中进行%计算

    例如,Tablix One的过滤公式如下:

    =IIF(Fields!MaxRowNumber.Value <= 10, 10, Fields!MaxRowNumber.Value * .4)
    

    因此,如果只返回十行,则在第1列中显示这十行。如果出现超过10行,则将40%的结果放入Tablix 1。

    我对Tablix 2和3进行了类似的计算,分别显示每个Tablix中的30%。

    感觉有点像黑客……但它起作用了。