Partager via


Événement ReportViewer.Drillthrough

Se produit lorsqu'un élément d'extraction est sélectionné.

Espace de noms: Microsoft.Reporting.WebForms
Assembly: Microsoft.ReportViewer.WebForms (dans microsoft.reportviewer.webforms.dll)

Syntaxe

'Déclaration
<SRDescriptionAttribute("DrillthroughEventDesc")> _
Public Event Drillthrough As DrillthroughEventHandler
'Utilisation
Dim instance As ReportViewer
Dim handler As DrillthroughEventHandler

AddHandler instance.Drillthrough, handler
[SRDescriptionAttribute("DrillthroughEventDesc")] 
public event DrillthroughEventHandler Drillthrough
public:
event DrillthroughEventHandler^ Drillthrough {
    void add (DrillthroughEventHandler^ value);
    void remove (DrillthroughEventHandler^ value);
}
/** @event */
public void add_Drillthrough (DrillthroughEventHandler value)

/** @event */
public void remove_Drillthrough (DrillthroughEventHandler value)
JScript supports the use of events, but not the declaration of new ones.

Remarques

Cet événement se produit lorsqu'un élément d'extraction est sélectionné. Les informations sur cet événement sont transmises dans un objet DrillThroughEventArgs au délégué DrillThroughEventHandler qui gère l'événement.

Pour plus d'informations sur la gestion des événements, consultez Consuming Events.

Exemple

L'exemple de code ci-dessous charge un exemple de rapport qui contient une série d'éléments d'extraction et configure un gestionnaire d'événements afin de gérer les événements d'extraction. Les arguments transmis au gestionnaire d'événements d'extraction comprennent un objet de rapport d'extraction. Le gestionnaire d'événements ajoute une source de données à ce rapport avant le rendu du rapport d'extraction dans le contrôle ReportViewer.

Imports System.Data
Imports Microsoft.Reporting.WebForms

Partial Class _Default
    Inherits System.Web.UI.Page


    Private Function LoadEmployeesData() As DataTable
        Dim dataSet As New DataSet()
        dataSet.ReadXml("c:\My Reports\employees.xml")
        LoadEmployeesData = dataSet.Tables(0)
    End Function

    Private Function LoadDepartmentsData()
        Dim dataSet As New DataSet()
        dataSet.ReadXml("c:\My Reports\departments.xml")
        LoadDepartmentsData = dataSet.Tables(0)
    End Function

    Public Sub DemoDrillthroughEventHandler(ByVal sender As Object, ByVal e As DrillthroughEventArgs)
        Dim localReport = e.Report
        localReport.DataSources.Add(New ReportDataSource("Employees", LoadEmployeesData()))
    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        If (Not IsPostBack) Then

            ' Set RDL file.
            ReportViewer1.LocalReport.ReportPath = "c:\My Reports\Departments.rdlc"

            ' Supply a DataTable corresponding to each report data source.
            Dim myReportDataSource = New ReportDataSource("Departments", LoadDepartmentsData())
            ReportViewer1.LocalReport.DataSources.Add(myReportDataSource)
        End If

        'Add a handler for drillthrough.
        AddHandler ReportViewer1.Drillthrough, AddressOf DemoDrillthroughEventHandler

    End Sub
End Class
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Reporting.WebForms;

public partial class _Default : System.Web.UI.Page 
{
        private DataTable LoadEmployeesData()
        {
            DataSet dataSet = new DataSet();
            dataSet.ReadXml(@"c:\My Reports\employees.xml");
            return dataSet.Tables[0];
        }

        private DataTable LoadDepartmentsData()
        {
            DataSet dataSet = new DataSet();
            dataSet.ReadXml(@"c:\My Reports\departments.xml");
            return dataSet.Tables[0];
        }

        void DemoDrillthroughEventHandler(object sender, DrillthroughEventArgs e)
        {
            LocalReport localReport = (LocalReport)e.Report;
            localReport.DataSources.Add(new ReportDataSource("Employees",
                LoadEmployeesData()));
        }

    protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
            {
            // On initial page load
            ReportViewer1.LocalReport.ReportPath = @"c:\My Reports\Departments.rdlc";

            // Supply a DataTable corresponding to each report data source.
            ReportViewer1.LocalReport.DataSources.Add(
                new ReportDataSource("Departments", LoadDepartmentsData()));
            }

        // Add the handler for drillthrough.
        ReportViewer1.Drillthrough += new DrillthroughEventHandler(DemoDrillthroughEventHandler);

    }
}

Voir aussi

Référence

Classe ReportViewer
Membres ReportViewer
Espace de noms Microsoft.Reporting.WebForms