我正在尝试根据页码以编程方式设置活动报告中的边距。
具体来说,第一页需要有较小的边距(以便最上面的带有退货地址的文本框与公司徽标的对齐方式相匹配),之后的每一页都应该有标准的 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。
谢谢!