Passare Variabile VB.NET in Crystal Report XI

venerdì 25 giugno 2010 - 12.50

gemepaso Profilo | Newbie

Dovrebbe essere una cosa tanto semplice quanto banale, eppure ...

Ho creato in un crystal una campo parametro TEMP tipo stringa.
Semplicemente da un form VB.net 2005 voglio richiamare il report e scrivere nel campo TEMP "pippo"

Da codice ..

Dim rpt = New CrystalDecisions.CrystalReports.Engine.ReportDocument
Dim reportPath As String = Application.StartupPath & "\Report.rpt"
rpt.Load(reportPath)


'ora. passo la variabile .. o almeno ci provo ..


rpt.SetParameterValue("TEMP", "pippo")
'in questo caso all'apertura del report mi viene chiesto di impostare manualmente la variabile

rpt.DataDefinition.FormulaFields("TEMP").Text = "pippo"
'in questo caso l'errore è in fase di Debug ... => Indice non valido. (Eccezione da HRESULT: 0x8002000B (DISP_E_BADINDEX))

qualcuno mi sa dire qualcosa a riguardo??? grazie 1000!



freeteo Profilo | Guru

Ciao,
nel report hai messo un parametro o un campo Formula?
Il codice del settaggio del parametro è corretto, hai per caso messo il parametro in un sottoreport?
Casomai posta un esempio che vediamo di correggerlo...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

gemepaso Profilo | Newbie

Parametro, parametro ...!
Per ora ho risolto in questo modo...

Dim crParameterFieldDefinitions As ParameterFieldDefinitions
Dim crParameterFieldDefinition As ParameterFieldDefinition
Dim crParameterValues As New ParameterValues
Dim crParameterDiscreteValue As New ParameterDiscreteValue
crParameterFieldDefinitions = CryRpt.DataDefinition.ParameterFields

crParameterDiscreteValue.Value = "PIPPO"
crParameterFieldDefinition = crParameterFieldDefinitions.Item("TEMP")
crParameterValues.Add(crParameterDiscreteValue)
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)

CrystalReportViewer1.ReportSource = CryRpt
CrystalReportViewer1.Refresh()

non so se con .NET ci sia soluzione più semplice e snella.

Dovendo passare n valori, mi costruirò un array di PARAMETRI-VARIABILI che ciclerò, .... certo che con VB6 era tutto molto più semplice ...
Tks
Ciao
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