Compartir a través de


Evento ReportViewer.Drillthrough

Se produce cuando se selecciona un elemento de obtención de detalles.

Espacio de nombres:  Microsoft.Reporting.WebForms
Ensamblado:  Microsoft.ReportViewer.WebForms (en Microsoft.ReportViewer.WebForms.dll)

Sintaxis

'Declaración
Public Event Drillthrough As DrillthroughEventHandler
'Uso
Dim instance As ReportViewer
Dim handler As DrillthroughEventHandler

AddHandler instance.Drillthrough, handler
public event DrillthroughEventHandler Drillthrough
public:
 event DrillthroughEventHandler^ Drillthrough {
    void add (DrillthroughEventHandler^ value);
    void remove (DrillthroughEventHandler^ value);
}
member Drillthrough : IEvent<DrillthroughEventHandler,
    DrillthroughEventArgs>
JScript admite el uso de eventos, pero no la declaración de otros nuevos.

Comentarios

Este evento se produce cuando se selecciona un elemento de obtención de detalles. La información sobre este evento se pasa en un objeto DrillThroughEventArgs al delegado DrillThroughEventHandler, que controla el evento.

Para obtener más información sobre el control de eventos, vea Consuming Events.

Ejemplos

El siguiente código de ejemplo carga un informe de ejemplo que contiene una serie de elementos de obtención de detalles y configura un controlador de eventos para controlar los eventos de obtención de detalles. Los argumentos pasados al controlador de eventos de obtención de detalles incluyen un objeto de informe de obtención de detalles. El controlador de eventos agrega un origen de datos a este informe antes de que el informe de obtención de detalles se presente en el control 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_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init

        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_Init(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);

    }
}

Vea también

Referencia

ReportViewer Clase

Espacio de nombres Microsoft.Reporting.WebForms