【发布时间】:2013-12-16 14:10:23
【问题描述】:
我正在将一些在 Windows 应用程序中运行的报表转换为使用本地 SQL 报表,而不是几年前编写的旧式自定义报表生成器。
报告并不是特别复杂,但我遇到了一个问题,我想尽可能避免乱搞。
我需要为任意数量的页面创建一个两列布局,从左列的上到下,到右列的上到下。
类似
List
Column One [sub report?]
*Contents
End Column One
Column Two [sub report?]
*Contents
End Column Two
End List
所以我希望将报表数据集传递到父列表中,并让内容流过第一列,然后流到第二列,然后在下一页上重复列表,直到所有数据都消耗完。
有没有可能得到这种2柱流量?
我能想到的唯一解决方案是预处理数据集,以便将内容块组织成页面、列和位置。但这听起来非常死板,尤其是在将内容适合页面时。
所以我可以创造
Data.Page = 1
Data.Column = 1
Data.Position = 1
Data.FormattedHeading = "blah"
Data.FormattedBody = "Blah..."
Data.ImageBytes = [***]
Data.Page = 1
Data.Column = 1
Data.Position = 2
Data.FormattedHeading = "blah"
Data.FormattedBody = "Blah..."
Data.ImageBytes = [***]
Data.Page = 1
Data.Column = 1
Data.Position = 3
Data.FormattedHeading = "blah"
Data.FormattedBody = "Blah..."
Data.ImageBytes = [***]
Data.Page = 1
Data.Column = 2
Data.Position = 1
Data.FormattedHeading = "blah"
Data.FormattedBody = "Blah..."
Data.ImageBytes = [***]
Data.Page = 1
Data.Column = 2
Data.Position = 2
Data.FormattedHeading = "blah"
Data.FormattedBody = "Blah..."
Data.ImageBytes = [***]
等等……
然后在唯一的 Data.Page 上操作的列表中布局,每个 Data.Column 包含 2 个子报表,它将按 Column 过滤并包含按 Data.Position 排序的 List
可能是一些小细节误入歧途,但类似的事情是我的大脑为我提供的解决方案。但它对内容的大小做出了假设,而且看起来很“骇人听闻”。
我错过了什么?有没有更好的办法?
【问题讨论】:
标签: visual-studio-2012 reporting-services rdlc