c# - Microsoft 报表查看器中的列重复方向

标签 c# reporting-services reportviewer microsoft-reporting

我正在使用 Windows 窗体使用 C# 和 Microsoft 报表查看器生成身份证。一切正常,除了我在 Microsoft 报表查看器中找不到列重复方向。

当前场景

我的报告纸张尺寸是 A4。每个页面最多可以显示 10 张单独的卡片。页面中有 2 列。每列显示 5 张牌。如图所示,它正在生成卡片。列重复方向是垂直的。它首先列出第 1 列 (1-5),然后列出第 2 列 (6-10)。

enter image description here

我的需求

我希望报告列的重复方向像下图一样水平。首先显示 1,然后显示 2、3 和 4,依此类推。

enter image description here

为什么我要水平显示而不是垂直显示?

它会节省纸张。例如,如果用户根据当前场景只生成 4 张身份证,它将在第 1 列生成 4 张卡片,并且整个页面空间都被浪费了,因为我无法重新使用剩余空间。

通过水平重复列方向,将显示 4 张卡片,如第 1 列中的卡片 1 和 3,以及第 2 列中的卡片 2 和 4。然后我可以剪下这张纸,以后再用。

我搜索了很多,但找不到任何解决方案。任何建议、评论或链接都会有所帮助。我不能使用任何其他报告。提前致谢。

最佳答案

创建矩阵

将您的行分组定义为

=Ceiling(Fields!CardNo.Value/2)

将您的列分组定义为

=Fields!CardNo.Value Mod 2

您的报表设计将如下所示。 外部组仅出于说明目的而显示,但您可以将其删除。

enter image description here

现在当您运行报表时。你会得到你想要的结果

enter image description here

没有任何分组页眉和页脚。您的报告输出将是

enter image description here

关于c# - Microsoft 报表查看器中的列重复方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34876013/

相关文章:

sql-server - 作为 Azure 托管 SQL 数据库的报表服务器

c# - 如何设置 ReportViewer 工具栏的样式

asp.net - 在网页上的 ReportViewer 控件中呈现时 Reporting Services 图表文本模糊

c# - 以编程方式导出 C# reportviewer 控件

c# - 如何从按钮点击事件中调用绘画事件?

c# - 这些 Web API 路由的顺序有什么问题

c# - 在 winform 对象之间传递对象

c# - 使用 CaSTLe 容器中的已注册组件为另一个组件提供依赖项

reporting-services - SSRS - 从 CSV 文件导入数据以用作报表服务器上的数据源

sql - 持续时间重叠导致重复计算