我在.rdlc报告中使用了tablix。有一个文本框,文本“签名”。我想将此文本框放在报表最后一页的底部(页面页脚之前)。
我已经用Google搜索了这个解决方案。但没有找到满意的结果。
我的环境是VS2010,框架4.0。
任何建议?
答案 0 :(得分:1)
没有简单的方法可以将某些内容与RDLC报告页面的底部对齐。但是,有一个很好的解决方法可以复制它,但它非常复杂。请按照以下步骤操作:
创建一个生成空行Feed的方法(“CarriageReturn LineFeed”):
public string GenerateCrLf(int Count)
{
string Value = "";
for (int i = 0; i <= Count; i ++) {
Value = Value + " " + Environment.NewLine;
}
return Value;
}
使用包含以下表达式的TextBox在Tablix末尾添加一个新行:=Code.GenerateCrLf(
x - cint(CountRows("Table1")))
替换 x 由表示行数的数字组成。这个数字的值是通过反复试验获得的,如果表的大小经常变化,你可以编写另一个函数,根据你的tablix所拥有的行数和可以在里面显示的行数来计算这个数字。单页。同样,你必须通过大量的试验和错误来完成这个以找到神奇的数字,但它可以通过这种方式动态制作。
在Tablix下面添加TextBox(或table / signature / ...),它将自动显示在下面。
这个答案取自this tutorial and demonstration。所有的功劳归功于作家Steven Renders。
答案 1 :(得分:0)
在页面页脚部分添加文本框。然后设置文本框的可见性,以仅在当前pageNumber与总页数相同时才显示文本框。 (如果Globals!PageNumber <> Globals!TotalPages隐藏)
因此,您的文本框只会出现在报告的最后一页。