Visual Basic .NET - Asignar un valor a un campo de parámetro de un Crystal Report
Written by lopezatienza on 5 Marzo 2010 – 13:59 -Hola a todos.
En este artículo voy a explicar cómo asignar un valor a un campo de parámetro de un Crystal Report.
Primeramente crearemos un Campo de parámetro en nuestro rpt.
Ya en nuestro rpt, vamos al Explorador de campos y hacemos click con el botón derecho en Campos de parámetro, y pulsamos en Nuevo:
A continuación en la ventana emergente que nos aparece, introducimos el nombre del campo de parámetro (en mi caso he introducido CampoPrueba):
Una vez creado, arrastramos el campo a la sección más oportuna de nuestro Crystal Report.
Tomo en cuenta de que ya tendrás creado un formulario, y en éste tienes un objeto CrystalReportViewer añadido, por lo que únicamente deberás añadir este bloque de código al crear en tiempo de ejecución tu Crystal Report.
'Creamos un objeto de nuestro Crystal Report
Dim _crPruebaParametro As New crPruebaParametro
Dim TextoParametro As String = "PruebaTextoParametro"
'Creamos estos tipos de objetos necesarios para acceder al parámetro de nuestro Crystal Report
Dim crParameterFieldDefinitions As CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions
Dim crParameterFieldLocation As CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition
Dim crParameterValues As CrystalDecisions.Shared.ParameterValues
Dim crParameterDiscreteValue As CrystalDecisions.Shared.ParameterDiscreteValue
crParameterDiscreteValue = New CrystalDecisions.Shared.ParameterDiscreteValue
'Obtenemos la definición del ParameterFields
crParameterFieldDefinitions = _crPruebaParametro.DataDefinition.ParameterFields
'Asignamos la key del parámetro de nuestro Crystal Report (en este caso será CampoPrueba)
crParameterFieldLocation = crParameterFieldDefinitions.Item("CampoPrueba")
'Obtenemos la propiedad de valor del parámetro
crParameterValues = crParameterFieldLocation.CurrentValues
'Asignamos el valor a esta propiedad
crParameterDiscreteValue.Value = TextoParametro
'Añadimos la cadena a este valor
crParameterValues.Add(crParameterDiscreteValue)
'Aplicamos el cambio en el parámetro
crParameterFieldLocation.ApplyCurrentValues(crParameterValues)
Un saludo y espero os sirva de ayuda.
Tags: Visual Basic
Posted in Visual Basic .NET |

Mayo 27th, 2010 at 17:19
Gracias por la aportación compañero.
Mayo 27th, 2010 at 17:43
Me alegro que te sirviera de ayuda.
Un saludo!