1

我正在 Visual Studio 2012 中使用 RDLC、WinForms、C# 设计发票(账单)。发票可以跨越 1 到 N 页。我正在使用 Tablix 在报告正文中显示发票详细信息(行项目)。一张发票可能包含 1 到 N 个行项目。

根据设计要求,在查看、打印或导出报告时,Tablix 列需要用可见垂直线分隔。这些行需要从 Tablix 标题附近的顶部开始并一直运行到页面的末尾,即它们从上到下覆盖报告正文。发票的正文部分如下所示:

 | SNo.| Code      | Quantity   | Particulars   | Rate   | Amount |
 |     |           |            |               |        |        |
 |     |           |            |               |        |        |
 |     |           |            |               |        |        |
 |     |           |            |               |        |        |  
 |     |           |            |               |        |        |
 |     |           |            |               |        |        |

我想到了2个选项来做到这一点:

  1. 在所有 4 个边上打开 Tablix 的边框。这不起作用,因为如果记录较少,则这些行仅显示在页面的一半。
  2. 关闭所有 4 个边的 Tablix 边框,并使用 LINE OBJECTs 来装饰 Invoice 并将其延伸到页面末尾。这仅适用于第一页,后续页面不显示任何行。

我想到了其他选择,但没有给我一个干净的结果,并且是其他方面的妥协。

请帮助我,因为我完全被卡住了。

4

2 回答 2

0

在 VS2005 应用程序(没有 Tablix)中,我必须:

  1. 设置正文高度,以便页眉高度 + 正文高度 + 页脚高度 + 上/下边距之和 = PageSize.Height
  2. 在我的表格上为每一列放置一个矩形(即 1 个矩形用于 SNo. 列,1 个矩形用于代码列)
  3. 将每个矩形的 RepeatWith 设置到我的表中

我认为相同的解决方案适用于 VS2012、Tablix 和 Line:尝试将 Line.RepeatWith 设置为您的 Tablix。

于 2013-06-27T13:49:28.043 回答
0

您可以使用列表来显示其中包含表格的数据。

然后有一个完整的列表高度到底部。在列表内从上到下绘制垂直线。

然后在列表组中,提供以下表达式。

ROWNUMBER(nothing)\20.

20 是一页所需的行数。

于 2017-08-13T05:10:26.513 回答