Visual Basic.NET - Seleccion de varios datos de Lista en Crystal repo

   
Vista:

Seleccion de varios datos de Lista en Crystal repo

Publicado por Omar (6 intervenciones) el 19/06/2008 17:36:49
Hola a todos.

Agradecido desde ya por la ayuda que me puedan brindar.

Em primer lugar lo que deseo hacer es un reports en crystal reports con criterios de seleccion varibale.
es decir, tengo dos listas (listbox) y de esas listas seleccionar los datos que yó quiera y tambien dos parametros más que definen el rango de fecha inicio y fin. (trbajando en Visual studio .net 2005 y
crytal reports).

Expongo el problema:
El problema se me presenta en la segunda lista. Ya que sólo me reporta la informaición del último dato seleccionado de la segunda lista, es decir, si a mi segunda lista traspaso tres datos. Sólo me entrega la información del último dato traspasaso o asignado a la lista.

Para los rangos de fecha funciona bien y no tengo problemas.

Para la ptimera lista tambien funciona super bien y no tengo problemas. (En esta puedo seleccionar un
dato de la lista o varios datos de la lista y reporta los datos en el informe de los datos que
seleccione sin problemas).

Es posible que alguien pueda ayudarme o indicarme algunas pistas para que tambien en mi segunda lista (PARA EL SEGUNDO PARAMETRO) pueda seleccionar e imprimir o sacar el informe de todos los datos que seleccione de la lista.

El informe en si funciona. Pero tengo ese detalle que en la segunda lista me trabaja solo con un dato.

saludos.

' asigno el nombre del report construido en crystal reports a variable
Dim VarRepCReport = New RPTGroupForLote
' asignación de dataset a datasource de crystal.
VarRepCReport.setdatasource(ds)

' CONTROL PRIMER PARAMETRO
' ************************
' Declararcion de las variables a utilizar
Dim paramFields As New ParameterFields()
Dim paramField As New ParameterField()

' variable para el primer parámetro
Dim discreteVal As New ParameterDiscreteValue()

' variable para el segundo parámetro
Dim discreteValLinea As New ParameterDiscreteValue()

' El primer parámetro es un parámetro discreto con valores de una lista.
' Se asigna el nombre del campo del parámetro. Este
' coincide con el nombre del parámetro del informe.
paramField.ParameterFieldName = "ParamR1ForLote"

' Se asigna el primer valor discreto y se pasa al parámetro
discreteVal.Value = Trim(Val(Me.ListBox3.SelectedItem))
paramField.CurrentValues.Add(discreteVal)

' se asigna el segundo y demás valores discretos y pasan al parámetro.
' Se crea siclo for para recorrer y asignar datos de la lista
' La variable discreteVal se establece en el valor new para que
' las especificaciones anteriores no se sobrescriban.
' Para que no se reemplace el dato ya asignado.
' *********** ciclo ************
For contad = 0 To Selc1 - 2 Step 1
Me.ListBox3.SetSelected(contad, True)
discreteVal = New ParameterDiscreteValue()
discreteVal.Value = Trim(Val(Me.ListBox3.SelectedItem))
paramField.CurrentValues.Add(discreteVal)
Next

' Se Agrega el 1er. parámetro a la colección de campos de parámetros.
paramFields.Add(paramField)

' CONTROL DEL SEGUNDO PARAMETRO
'**********************************
' En el segundo parámetro la variable paramField se establece
' en el valor new para que las especificaciones anteriores no se sobrescriban.
paramField = New ParameterField()

' Se asigna el nombre del campo del parámetro. Este
' es igual al parámetro del del informe. (como en el primer caso)
paramField.ParameterFieldName = "ParaR1ForLinea"

' Se asigna el valor discreto y se pasa al parámetro.
' considerando la otra variable para el segundo parámetro
' y el valor tambien proviene de una lista
discreteValLinea.Value = Trim(Val(Me.ListBox6.SelectedItem))
paramField.CurrentValues.Add(discreteValLinea)

' Se asigna el segundo y demás valores discretos y se pasan al 2do. parámetro.
' La variable discreteValLinea se establece en el valor new para que
' las especificaciones anteriores no se sobrescriban.
' *********** ciclo ************
For contadL = 0 To Selc1L - 2 Step 1
Me.ListBox6.SetSelected(contadL, True)
discreteValLinea = New ParameterDiscreteValue()
discreteValLinea.Value = Trim(Val(Me.ListBox6.SelectedItem))
paramField.CurrentValues.Add(discreteValLinea)
Next

' Se Agrega el 2do. parámetro a la colección de campos de parámetros.
paramFields.Add(paramField)

' **********************************
' Asi es como lo tenía antes pero solo me permitia un dato de la lista
' parametro reemplazado para seleccion por datos variables
' VarRepCReport.SetParameterValue(0, Me.cBLotePrioridad.SelectedValue)
' VarRepCReport.SetParameterValue(1, Me.cBLineaPrioridad.SelectedValue)

' El resto de paramteros los asigno de esta forma.
' con setparamtervalue, indicando la posición del campo y el
' nombre del campo definido en el informe (diseñador de Crystal reports)
VarRepCReport.SetParameterValue(2, FechaInicio)
VarRepCReport.SetParameterValue(3, FechaFin)

' Se establece la coleccion de parametros al control del visor
Me.CrystalReportViewerLoteLinea.ParameterFieldInfo = paramFields

' finalmenete se establece el informe enlazado al CRW y
' deshabilito el boton de refresh.
Me.CrystalReportViewerLoteLinea.ReportSource = VarRepCReport
Me.CrystalReportViewerLoteLinea.ShowRefreshButton = False


saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Seleccion de varios datos de Lista en Crystal r

Publicado por Omar (6 intervenciones) el 19/06/2008 22:23:07
Respuesta:

Miren lo que causaba el problema expuesto.

El código está y no hay nada que hacer. Salvo que alguien tenga una solución más eficiente. Que creo y estoy seguro que si las hay.

Lo que faltaba: Para el campo definido en Campos de parametros en la confeccion del reports en Crystal Reports se debe defnir este campo con las OPCIONES de ;
Permitir Valores Multiples y
Valores Discretos.

entre otras definiciones.

A mi me faltó definir y activar la opción de: PERMITIR VALORES MULTIPLES para el campo [ParaR1ForLinea]


Muchos saludos a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Seleccion de varios datos de Lista en Crystal r

Publicado por Felix Flores (1 intervención) el 20/04/2010 23:16:30
Excelente anotacion, sirve.. para entender un poco la inetaccion BV.Net y Crystal
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar