
16/08/2007, 13:58
|
| | Fecha de Ingreso: agosto-2006 Ubicación: en lima peru
Mensajes: 184
Antigüedad: 18 años, 6 meses Puntos: 0 | |
Re: Mandar parametros a un report Viewer aca tengo una clase generica
que permite mandar parametros al crystal report no se si te sea util
Código:
Imports Microsoft.VisualBasic
Imports CrystalDecisions
Imports CrystalDecisions.Web
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class ClsReporte
Inherits System.Web.UI.Page
Public Function Reporte_Parametros(ByVal Ruta As CrystalReportSource, ByVal ParamArray OBJ() As Object) As CrystalReportSource
Dim Lista_Parametros As New CrystalDecisions.Web.ParameterCollection
Dim myConnectionInfo1 As ConnectionInfo = New ConnectionInfo
myConnectionInfo1.ServerName = "SVRPANORAMA"
myConnectionInfo1.DatabaseName = "Gsi"
myConnectionInfo1.IntegratedSecurity = False
myConnectionInfo1.UserID = "sa"
myConnectionInfo1.Password = ""
SetDBLogonForReport(myConnectionInfo1, Ruta.ReportDocument)
Dim a As Integer = 0
Dim cont As Integer = 0
Dim b As Integer
For b = 0 To Ruta.ReportDocument.ParameterFields.Count - 1
Dim car As New CrystalDecisions.Web.Parameter
Lista_Parametros.Add(car)
Next
b = 0
For cont = 0 To Ruta.ReportDocument.ParameterFields.Count - 1 'Step 1
Lista_Parametros.Item(cont).Name = OBJ(b)
Lista_Parametros.Item(cont).DefaultValue = OBJ(b + 1)
b = b + 2
Next
For b = 0 To Lista_Parametros.Count - 1
Ruta.Report.Parameters.Add(Lista_Parametros(b))
Next
Reporte_Parametros = Ruta
Session("Reporte_General") = Ruta
Return Ruta
End Function
Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)
Dim myTables As Tables = myReportDocument.Database.Tables
For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables
Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
myTableLogonInfo.ConnectionInfo = myConnectionInfo
myTable.ApplyLogOnInfo(myTableLogonInfo)
Next
End Sub
End Class
y aca lo llamas desde tu aplicacion
Código:
Private var_report As New ClsReporte
Dim valor As New CrystalDecisions.Web.CrystalReportSource
valor.Report.FileName = Server.MapPath("~/" + mymaster.ReporteNombre + ".rpt")
CrystalReportViewer1.ReportSource = var_report.Reporte_Parametros(valor, "@Grupo", "", "@Id_Empresa", Session("Id_Empresa"), "@Fecha_Ini", Me.WUCPeriodo1.Fecha_Ini, "@Fecha_Fin", Me.WUCPeriodo1.Fecha_Fin, "@Moneda", "01", "@CuentaI", Me.WUC_Cuenta_Ini.Cuenta, "@CuentaF", Me.WUC_Cuenta_Fini.Cuenta, "@AnexoI", Me.WUCAnexo_Ini.Id_Anexo, "@AnexoF", WUCAnexo_Fin.Id_Anexo, "@Cond", "1")
' yluego lo enlazas a tu reporte
saludos |