.net - AR3 中页面特定的边距设置

标签 .net activereports

我正在尝试根据页码以编程方式设置事件报表中的边距。

具体来说,第一页需要有较小的边距(以便最上面带有寄信人地址的文本框与公司 Logo 的对齐方式相匹配),之后的每一页都应具有标准的 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。

谢谢!

最佳答案

以编程方式,单位为英寸而不是 CM :) 设计时设置仅影响设计器中显示的内容。

以下内容对我有用:

public void ActiveReport_ReportStart()
{
    rpt.PageSettings.Margins.Top = 0.05f;
    rpt.PageSettings.Margins.Left = 0.05f;
    rpt.PageSettings.Margins.Right = 0.05f;
    rpt.PageSettings.Margins.Bottom = 0.05f;    
}

public void ActiveReport_PageEnd()
{
    // The first page (page index 0) will inherit the page margins set in ReportStart. 
    // We immediately reset the page margins in the first PageEnd event to ensure subsequent pages get the larger margins.
    if (rpt.Document.Pages.Count == 0)
    {
        rpt.PageSettings.Margins.Top = 1.0f;
        rpt.PageSettings.Margins.Left = 1.0f;
        rpt.PageSettings.Margins.Right = 1.0f;
        rpt.PageSettings.Margins.Bottom = 1.0f;
    }
}

The ActiveReports Support Forums免费、活跃并由我们的支持团队监控,因此它们是询问有关 ActiveReports 问题的好地方。

希望这有帮助,

Scott Willeke
GrapeCity inc.

关于.net - AR3 中页面特定的边距设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3331572/

相关文章:

c# - 在测试执行期间确定解决方案路径

c# - 异步方法应该有什么行为?

c# - 使用 Nhibernate.Mapping.Attributes 指定复合键

.net - 使用 Task.Wait() 代码包装 Async/Await IAsyncOperations 有哪些风险?

asp.net-mvc - 如何在 ASP.Net MVC 应用程序中将 ActiveReport 导出到 XLS?

c# - 如何让 .NET WinForms 组件使用 SET 时区而不是客户端时区?

.net - ToolStripSplitButton 显示下拉菜单

windows-services - ActiveReports 7 抛出来自 Windows 服务的无效句柄异常打印

asp.net - 如何访问事件报表的控件(数据动态)

vb.net - 使用VB计算报表中的行数