2010-10-09 14 views
2

Je travaille avec le rapport de cristal 2008Crystal Reports: dialogue ParamerterValue apparaît en dépit des valeurs sont définies par programme

J'ai un champ de paramètre nommé HeaderColumn1, dont la valeur que je veux transmettre un programme.

Je mis la valeur du champ de paramètre avec le code suivant:

ReportDocument reportDocument = new ReportDocument(); 
ParameterFields paramFields = new ParameterFields; 
ParameterField paramField; 
ParameterDiscreteValue paramDiscreteValue; 

paramField = new ParameterField(); 
paramField.Name = "HeaderColumn1"; 
paramDiscreteValue = new ParameterDiscreteValue(); 
paramDiscreteValue.Value = "Customer Code"; 
paramField.CurrentValues.Add(paramDiscreteValue); 


paramFields.Add(paramField); 

crystalReportViewer1.ReportSource = reportDocument; 
crystalReportViewer1.ParameterFieldInfo = paramFields; 
crystalReportViewer1.RefreshReport(); 

Sur l'exécution de ce code, il vous invite à entrer le paramètre ParameterValue de HeaderColumn1.

Pourquoi cela? Des solutions ou des suggestions? Merci beaucoup d'avance.

:))

Répondre

0

Solution:

Il a travaillé enfin à l'aide suivante:

ReportDocument reportDocument = new ReportDocument(); 
ParameterFields paramFields = new ParameterFields; 
ParameterField paramField; 
ParameterDiscreteValue paramDiscreteValue; 


paramField = crystalreportviewer1.ParameterFieldInfo["HeaderColumn1"]; 
paramDiscreteValue = new ParameterDiscreteValue(); 
paramDiscreteValue.Value = "Customer Code"; 
paramField.CurrentValues.Add(paramDiscreteValue); 


paramFields.Add(paramField); 


crystalReportViewer1.ReportSource = reportDocument; 
crystalReportViewer1.ParameterFieldInfo = paramFields; 
crystalReportViewer1.RefreshReport(); 
0

Votre code ne fonctionne pas pour moi, j'ai peur, mais cela (trouvé ailleurs) et peut être utile à d'autres -

ReportDocument cryRpt = new ReportDocument(); 
cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt"); 

ParameterFieldDefinitions crParameterFieldDefinitions ; 
ParameterFieldDefinition crParameterFieldDefinition ; 
ParameterValues crParameterValues = new ParameterValues(); 
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue(); 

crParameterDiscreteValue.Value = Convert.ToInt32(textBox1.Text); 
crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields; 
crParameterFieldDefinition = crParameterFieldDefinitions["Price"]; 
crParameterValues = crParameterFieldDefinition.CurrentValues; 

crParameterValues.Clear(); 
crParameterValues.Add(crParameterDiscreteValue); 
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues); 

crystalReportViewer1.ReportSource = cryRpt; 
crystalReportViewer1.Refresh();