FlashViewer中实现钻取报表

钻取报表的作用?添加钻取功能使报表更加的灵活易用。它可以是用户查看感兴趣数据的更详细信息,对用户理解数据有很大的帮助。本文即将阐述如何在 FlashViewer 中使用 客户端API 实现钻取功能。我们需要做如下工作:

发布于 2014/08/25 00:00

ActiveReports

钻取报表的作用?

添加钻取功能使报表更加的灵活易用。它可以使用户查看感兴趣数据的更详细信息,对用户理解数据有很大的帮助。

本文即将阐述如何在 FlashViewer 中使用 http://helpcentral.componentone.com/nethelp/AR8Help/AR8_HelpOnlineEN/index.html?arWLKCustomFlashViewer.html" target="_blank">客户端API 实现钻取功能。

我们需要做如下工作:

在我们实现该功能之前,我们需要了解相关的接口信息:

RpxHandler:

 

实现方法

设置 FlashViewer 控件的“UseClientApi” 属性为true,确保点击链接时可以出发客户端事件。在本示例中我们使用 Code Based 报表作为父报表,XML Based 报表作为子报表。

首先,我们需要设置 TextBox 的 Hyperlink” 属性为其文本值。

private void detail_Format(object sender, EventArgs e)
{
   if (txtCountry1.Text != "")
   {
      txtCountry1.HyperLink = txtCountry1.Text;
   }
}

在客户端的 OnLinkClick 事件中获取点击链接的值,传递给后台:

var viewer;
function init() {
   GrapeCity.ActiveReports.Viewer.OnLoad("WebViewer1", function () {
      viewer = GrapeCity.ActiveReports.Viewer.Attach("WebViewer1");
      viewer.setEventsHandler({
         OnLinkClick: function (e) {
            var _paramValue = e.Link;
            viewer.LoadDocument("SectionReport2.rpx?parameter1=" + _paramValue + "&OutputFormat=Rdf3");
            return true;
         }
      });
   });
}

 

重新打开主报表的方法如下:

protected void Page_Load(object sender, EventArgs e)
{
   if (!IsPostBack)
   {
      SectionReport1 rpt = new SectionReport1();
      WebViewer1.Report = rpt;
      Session["Report"] = rpt;
   }
}
  
protected void btnLoad_Click(object sender, EventArgs e)
{
   WebViewer1.Report = ((GrapeCity.ActiveReports.SectionReport)Session["Report"]);
}

 

效果图:

DrillDown

示例下载:

VS2010 + .NET 4.0 + C# + AR8 SP1

ActiveReports 报表控件| 下载试用

ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。

您对ActiveReports产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态