RDLC报告 - 在所有页面上重复垂直线条

时间:2013-06-27 12:41:31

标签: winforms c#-4.0 rdlc

我正在使用Visual Studio 2012中的RDLC,WinForms和C#设计发票(Bill)。发票可以从1页到N页。我使用Tablix在报表正文中显示发票详细信息(订单项)。发票可能包含1到N个订单项。

根据设计要求,在查看,打印或导出报表时,Tablix列需要由可见垂直线分隔。这些行需要从Tablix Header附近的顶部开始并运行到页面的末尾,即它们从上到下覆盖Report Body。发票的正文部分看起来像这样:

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

我想到了两个选项:

  1. 在四个方向上打开Tablix的边框。 这不起作用,因为如果记录较少,那么这些行只显示在页面的一半。
  2. 在所有4个面上关闭Tablix的边框,并使用LINE OBJECTs装饰发票并将其延伸到页面末尾。这仅适用于第一页,后续页面中不显示任何行。
  3. 我想到了其他选择,但没有给我一个干净的结果,并且在其他领域是妥协。

    请帮助我,因为我完全陷入困境。

2 个答案:

答案 0 :(得分:0)

在VS2005应用程序(没有Tablix)中,我不得不:

  1. 设置身高,使得标题高度+身高+页脚高度+上/下边距= PageSize.Height
  2. 之和
  3. 为我的表格中的每一列放置一个矩形(即,SNo。列为1个矩形,代码列为1个矩形)
  4. 将每个矩形的RepeatWith设置为我的表格
  5. 我认为相同的解决方案适用于VS2012,Tablix和Line:尝试将Line.RepeatWith设置为Tablix。

答案 1 :(得分:0)

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

然后将列表高度填满底部。在列表中绘制垂直线到底部。

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

ROWNUMBER(nothing)\20

20是一页所需的行数。