Caricamento report non riuscito

mercoledì 07 maggio 2008 - 07.03

hidden Profilo | Newbie

Ho creato un programma fatto con vb 2005 che contiene un Crystal report viewr.
Quando carico il report devo pasare al report un parametro che accetta valori multipli per farlo ho trovato in rete questo codice:


Private Sub SetCurrentValuesForParameterField(ByVal MioCampoParametri As ParameterFields, ByVal MyArrayList As ArrayList)
Try
Cursor = Cursors.WaitCursor
Dim currentParameterValues As ParameterValues = New ParameterValues()
For Each submittedValue As Object In MyArrayList
Dim MyparameterDiscreteValue As New ParameterDiscreteValue
MyparameterDiscreteValue.Value = submittedValue.ToString()
currentParameterValues.Add(MyparameterDiscreteValue)
Next
Dim myParameterField As ParameterField = MioCampoParametri("Dipendente")
myParameterField.CurrentValues = currentParameterValues
Catch
ShowKryptonMessage("Attenzione Errore", "Errore n° " + Err.Number.ToString + vbCrLf + Err.Description, Tipo_Messaggio.Errore, Stile.Office2007Silver, Icona_da_visualizzare.Errore)
Finally
Cursor = Cursors.Default
End Try
End Sub



Private Sub VisualStampa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VisualStampa.Click
Try
Cursor = Cursors.WaitCursor
MyArrayList.Clear()
For i As Integer = 0 To KDGV_Dipendenti.Rows.Count - 1 Step 1
If KDGV_Dipendenti(0, i).Value = True Then
MyArrayList.Add(KDGV_Dipendenti(1, i).Value.ToString)
End If
Next
If MyArrayList.Count <= 0 Then

Else
CRV1.ReportSource = Me.DipendentiTaglie1
Dim MyParameterFields As ParameterFields = CRV1.ParameterFieldInfo
SetCurrentValuesForParameterField(MyParameterFields, MyArrayList)
End If
Catch
ShowKryptonMessage("Attenzione Errore", "Errore n° " + Err.Number.ToString + vbCrLf + Err.Description, Tipo_Messaggio.Errore, Stile.Office2007Silver, Icona_da_visualizzare.Errore)
Finally
Cursor = Cursors.Default
End Try
End Sub


Però il mio problema è questo che in fase di debug quando lancio il programma tutto ok e non mi da nessun errore. Mentre se lancio l'esguiile alcune volte mi carica il report senza problemi altre volte mi mostra il seguente messaggio di errore

"Caricamento report non riuscito"

Però la cosa strana è che il report me lo visualizza ma non secondo i parametri che io gli ho passato.

Da cosa può dipendere questa cosa?
Non sono riuscito a capire perchè alcune volte va ed altre no. Potreste darmi una mano?
Vi ringrazio anticipatamente!

freeteo Profilo | Guru

ciao,
effettivamente che ci siano dei comportamenti diversi a parità di report, e codice mi lascia pensare che possa essere 2 altre cose:

- il runtime/sistema operativo etc...è uguale sia quando succede che quando funziona?

- non è che dipenda dai dati che passi come parametri? Perchè l'arraylist tiene "oggetti" generici, quindi sia stringhe che numeri che classi etc...non è che magari usando un List<T> (generics) ed essendo sicuro di passare i valori del parametro dello stesso tipo con cui l'hai definito nel report si risolva?

- se questi valori passati come parametri, poi li usi nel report, magari alcuni di questi,se provengono da database etc...e quindi variano, possono andare a far sbagliare qualche calcolo al report? tipo il report si aspetta che sia stringa e tu gli passi una data etc...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

hidden Profilo | Newbie

Il sistema operativo e il runtime sono uguali il fatto strano che mi incuriosisce e che se avvio il programma dal debug di Visual Basic funziona alla perfezione e non mi da nessun errore se invece avvio semplicemente il mio eseguibile a volte mi da l'errore e altre no. Il bello che non sono riuscito a capire quando mi da l'errore, nel senso che non sono riuscito a trovare una ragola una formula o un'operazione che si colleghi all'errore. Comunque devo provare a passargli anzichè un arraylist un list generico come mi hai consigliato tu cosi vediamo come va. Proverò e ti faccio sapere.

Grazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5