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);
}
}