Parametros en Crystal Report
Publicado por
Ricardo Rojas (1 intervención) el 11/04/2013 14:17:59
Excelente
¿Qué sucede si queremos pasar mas de un parámetro?
Podemos Hacer los siguiente:
frmPreview.crvReportes.ReportSource = Nothing
Dim PEmpDes, PEmpRUC, PEmpGIR, PFechaImp, PvPie As New ParameterDiscreteValue
'Parametros
PEmpDes.Value = EmpDes
PEmpRUC.Value = EmpRUC
PEmpGIR.Value = EmpGir
If chkFechaImp.Checked = True Then
PFechaImp.Value = "Imp.: " & Mid(FechaImp.ToString.Trim, 1, 10)
Else
PFechaImp.Value = ""
End If
PvPie.Value = vPie
'Definicion de Parámetros
Dim ParamList As New ParameterFields
Dim ParamTemp1 As ParameterField
Dim ParamTemp2 As ParameterField
Dim ParamTemp3 As ParameterField
Dim ParamTemp4 As ParameterField
Dim ParamTemp5 As ParameterField
ParamTemp1 = New ParameterField
ParamTemp2 = New ParameterField
ParamTemp3 = New ParameterField
ParamTemp4 = New ParameterField
ParamTemp5 = New ParameterField
ParamTemp1.ParameterFieldName = "@PEmpDes" 'Aqui asignas el parametro que usas
ParamTemp2.ParameterFieldName = "@PEmpRUC" 'Aqui asignas el parametro que usas
ParamTemp3.ParameterFieldName = "@PEmpGIR" 'Aqui asignas el parametro que usas
ParamTemp4.ParameterFieldName = "@PFechaImp" 'Aqui asignas el parametro que usas
ParamTemp5.ParameterFieldName = "@PvPie" 'Aqui asignas el parametro que usas
ParamTemp1.CurrentValues.Add(PEmpDes)
ParamTemp2.CurrentValues.Add(PEmpRUC)
ParamTemp3.CurrentValues.Add(PEmpGIR)
ParamTemp4.CurrentValues.Add(PFechaImp)
ParamTemp5.CurrentValues.Add(PvPie)
ParamList.Add(ParamTemp1)
ParamList.Add(ParamTemp2)
ParamList.Add(ParamTemp3)
ParamList.Add(ParamTemp4)
ParamList.Add(ParamTemp5)
frmPreview.crvReportes.ParameterFieldInfo = ParamList
Dim dt As New DataTable
With dt
.Columns.Add("ffecha")
.Columns.Add("ncomer")
.Columns.Add("nvenfp")
.Columns.Add("ncomfp")
.Columns.Add("nvenfc")
.Columns.Add("ncomfc")
End With
For Each dr As DataGridViewRow In frmTipodeCambio.dgvTipCam.Rows
dt.Rows.Add(dr.Cells("ffecha").Value, dr.Cells("ncomer").Value, _
dr.Cells("nvenfp").Value, dr.Cells("ncomfp").Value, _
dr.Cells("nvenfc").Value, dr.Cells("ncomfc").Value)
Next
Dim rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
rptDoc = New rptTipodeCambio
rptDoc.SetDataSource(dt)
frmPreview.crvReportes.ReportSource = rptDoc
frmPreview.ShowDialog()
frmPreview.Dispose()