2016-08-08 105 views
-3

Wie kann ich einen vorhandenen Crystal Report aus meiner C# -Klassendatei aufrufen?Bericht aus der C# -Klassendatei aufrufen

Meine Methode in der Klassendatei hat den Parameter string CallCrystal(string num). Der Bericht befindet sich in D:/Reports/EmployeDetails/, in dem die Mitarbeiterdetails angezeigt werden, indem eine Zeichenketteneingabe übergeben wird.

Die Methode sollte diese Zeichenfolge als Parameter (num) senden und den Bericht Crystal Reports aufrufen.

Antwort

0

Sie benötigen das CrystalReportViewer Control. Dies hat eine ReportSource-Eigenschaft, die unter anderem auf den Pfad eines vorhandenen Berichts festgelegt werden kann, was in Ihrem Fall der Fall ist. Um Parameter hinzuzufügen, müssen Sie zusätzlich das ParameterFieldInfo-Member verwenden, das eine Auflistung von ParameterFields darstellt. Stellen Sie dies wie folgt:

ParameterFields paramFlds = new ParameterFields(); 
ParameterField param = new ParameterField(); 
ParameterDiscreteValue paramVal = new ParameterDiscreteValue(); 
param.Name = "myName"; 
paramVal.Value = myValue; 
param.CurrentValues.Add(paramVal); 
paramFlds.Add(param); 

Ich benutze eine einzige „host“ Form enthält nur eine Steuerung, die Crystal. Um den Bericht anzuzeigen, erstelle ich eine Instanz dieses Formulars, übergebe alle Parameter, die ich brauche (zumindest die ParameterFieldInfo, aber in deinem Fall auch den Pfad) und rufe schließlich host.Show() auf, um den Bericht anzuzeigen.