很多项目中需要根据报表来切换UI,但是当钻取报表发生后,有可能无法获取子报表的名称等信息。本文就来学习当发生钻取或导航等行为时,如何获取控制子报表信息

1. 新建Winform 程序

 

2. 添加报表及钻取子报表

 

3. 新建 Form, 添加Viewer控件

 

4. 选中Viewer,在事件中实现Action 方法,实例化DrillthroughAction类

当钻取发生时,会自动执行Viewer Action方法。

 private void viewer1_Action(object sender, GrapeCity.ActiveReports.Viewer.Win.Viewer.ActionEventArgs e)
        {

            DrillthroughAction act = e.Action as DrillthroughAction;
            var rpt = act.TargetReport;
            var docProp = rpt.GetType().GetProperty("Document", BindingFlags.Instance | BindingFlags.NonPublic);
            var doc = (PageDocument)docProp.GetValue(rpt,null);
            this.textBox1.Text = doc.PageReport.Report.Name;

        }

 

下载附件:


了解ActiveReports产品更多特性:

/developer/activereports

下载产品体验产品功能:

/download/?pid=16