在.rdlc报告的底部设置一个文本框

时间:2013-04-07 16:03:37

标签: .net visual-studio-2010 c#-4.0 rdlc

我在.rdlc报告中使用了tablix。有一个文本框,文本“签名”。我想将此文本框放在报表最后一页的底部(页面页脚之前)。

我已经用Google搜索了这个解决方案。但没有找到满意的结果。

我的环境是VS2010,框架4.0。

任何建议?

2 个答案:

答案 0 :(得分:1)

没有简单的方法可以将某些内容与RDLC报告页面的底部对齐。但是,有一个很好的解决方法可以复制它,但它非常复杂。请按照以下步骤操作:

  1. 创建一个生成空行Feed的方法(“CarriageReturn LineFeed”)

    public string GenerateCrLf(int Count)
    {
        string Value = "";
        for (int i = 0; i <= Count; i ++) {
            Value = Value + " " + Environment.NewLine;
         }
        return Value;
    }
    
  2. 使用包含以下表达式的TextBox在Tablix末尾添加一个新行:=Code.GenerateCrLf( x - cint(CountRows("Table1")))替换 x 由表示行数的数字组成。这个数字的值是通过反复试验获得的,如果表的大小经常变化,你可以编写另一个函数,根据你的tablix所拥有的行数和可以在里面显示的行数来计算这个数字。单页。同样,你必须通过大量的试验和错误来完成这个以找到神奇的数字,但它可以通过这种方式动态制作。

  3. 在Tablix下面添加TextBox(或table / signature / ...),它将自动显示在下面。

  4. 这个答案取自this tutorial and demonstration。所有的功劳归功于作家Steven Renders。

答案 1 :(得分:0)

在页面页脚部分添加文本框。然后设置文本框的可见性,以仅在当前pageNumber与总页数相同时才显示文本框。 (如果Globals!PageNumber <> Globals!TotalPages隐藏)

因此,您的文本框只会出现在报告的最后一页。