【发布时间】:2013-04-07 16:03:37
【问题描述】:
我在我的 .rdlc 报告中使用了 tablix。有一个带有文本“签名”的文本框。我想将此文本框放在报告最后一页的底部(就在页脚之前)。
我已经用谷歌搜索了这个解决方案。但没有找到满意的结果。
我的环境是VS2010,框架4.0。
有什么建议吗?
【问题讨论】:
标签: .net visual-studio-2010 c#-4.0 rdlc
我在我的 .rdlc 报告中使用了 tablix。有一个带有文本“签名”的文本框。我想将此文本框放在报告最后一页的底部(就在页脚之前)。
我已经用谷歌搜索了这个解决方案。但没有找到满意的结果。
我的环境是VS2010,框架4.0。
有什么建议吗?
【问题讨论】:
标签: .net visual-studio-2010 c#-4.0 rdlc
没有简单的方法将某些内容与 RDLC 报告页面的底部对齐。但是,有一个很好的解决方法可以复制它,尽管它非常复杂。请按以下步骤操作:
创建一个生成空换行符的方法("CarriageReturn LineFeed"):
public string GenerateCrLf(int Count)
{
string Value = "";
for (int i = 0; i <= Count; i ++) {
Value = Value + " " + Environment.NewLine;
}
return Value;
}
在 Tablix 末尾添加一个新行,其文本框包含以下表达式:=Code.GenerateCrLf(x- cint(CountRows("Table1"))) 替换 x 由表示行数的数字。这个数字的值是通过反复试验获得的,如果表的大小经常变化,您可以编写另一个函数,根据您的 tablix 拥有的行数和可以在里面显示的行数来计算这个数字单页。同样,您必须通过大量试验和错误来找到幻数,但它可以通过这种方式动态生成。
在 Tablix 下方添加 TextBox(或表格/签名/...),它会自动显示在下方。
这个答案来自this tutorial and demonstration。所有功劳归功于作者 Steven Renders。
【讨论】:
在页脚部分添加文本框。然后将文本框的可见性设置为仅当当前 pageNumber 与总页码相同时才显示文本框。 (如果 Globals!PageNumber Globals!TotalPages 则隐藏)
所以你的文本框只会出现在报告的最后一页。
【讨论】: