【发布时间】:2010-07-26 00:25:51
【问题描述】:
我正在尝试根据页码以编程方式设置活动报表中的边距。
具体来说,第一页需要有小边距(以便最上面的带有退货地址的文本框与公司徽标的对齐方式相匹配),之后的每一页都应该有标准的 2.54 厘米边距。
我读过一些帖子,建议检测实际页码可能会出现问题,因此我尝试使用 ReportStart 和 PageStart 处理程序以及一些非常简单的逻辑来设置边距。
在报告的代码隐藏中,我添加了两个处理程序和 bool 值:
this.ReportStart += UFAnReportStart;
this.PageStart += UFAnPageStart;
bool bFirstPage = true;
然后添加两个回调如下:
private void UFAnReportStart(object sender, System.EventArgs eArgs)
{
this.PageSettings.Margins.Top = 0.1965278F;
}
private void UFAnPageStart(object sender, System.EventArgs eArgs)
{
// every page after the first should have standard margins.
if (!bFirstPage)
{
this.PageSettings.Margins.Top = 2.54F;
}
bFirstPage = false;
}
这似乎对页边距没有任何影响。这种方法是完全错误的吗?还是 PageSettings 对象是报表范围的属性?
欢迎对替代方法提出任何建议。
使用 Activereports3,版本 5.2.1013.2。
谢谢!
【问题讨论】:
-
我也试过用 this.CurrentPage.Margins.Top = 2.54F 替换 this.PageSettings.Margins.Top = 2.54F 但这也不起作用......
标签: .net activereports