Lesen CrystalReport Feld Wert Programmgesteuert
Ich bin mit C#.NET programmgesteuert laden Sie ein Crystal Report-Dokument (das bekommt seine Daten aus einer Datenbank) und dann exportieren Sie es als PDF.
Ich bin stecken, versucht zu Lesen-Felder (abc123) Wert aus dem Bericht (ich möchte es verwenden in den Dateinamen). Ich habe nichts dagegen, wo das Feld in der crystal Reports-Bericht; und es wird nicht wiederholt werden, aber es muss ein Feld in den Bericht.
Mein code bisher:
//Setup
ReportDocument reportTemplate = new ReportDocument();
reportTemplate.Load(textBox1.Text);
reportTemplate.Refresh();
reportTemplate.ReadRecords();
//Load the current reports name from the report summary information
String ReportName = reportTemplate.SummaryInfo.ReportTitle.ToString();
//Load the current reports "abc123" field from the report
//????
//Export the report as PDF
reportTemplate.Export();
Ich versucht habe:
//Load the current reports "abc123" field from the report
String abcField = ((TextObject)rpt.Section2.ReportObjects["abc123"]).Text
String abcField = reportTemplate.ReportDefinition.ReportObjects["abc123"].ToString();
String abcField = reportTemplate.Rows.ReportDocument.ReportDefinition.ReportObjects["abc123"];
Ohne Glück. Kann mir jemand einige Hinweise geben? Ich kann den Bericht in der Vorschau mit crystalReportView1 Objekt und das Feld gefüllt ist es.
- Warum brauchen Sie, um dies zu tun? Sie haben bereits Daten-Objekt im Bericht, also warum nicht erhalten Sie dieses Feld aus Daten-Objekt, das anstelle?
- Es ist ein Bereich berechnet, in dem Bericht verschiedene Berichte haben unterschiedliche Berechnungen...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider werden Sie nicht in der Lage, ziehen Sie ein berechnetes Feld mit dem Wert aus dem code hinter. Das berechnete Feld Wert ist nicht verfügbar, bis nachdem der Bericht-engine übernimmt und übernimmt das rendering. Sie können Zugang/ändern von Formel-Definitionen, bevor der Bericht gerendert wird, aber kein Zugriff auf den tatsächlichen Wert berechnet sich aus dem code hinter. Auch wenn Sie einen leeren Unterbericht, und fügen Sie einen parameter aus dem Hauptbericht für das Feld Wert ein, den Sie zugreifen möchten, wird es nicht über einen Wert verfügen, bevor der reports engine rendert es. Sollten Sie auf jeden Fall nach einem Weg suchen, um Sie ziehen aus den Daten, die Sie binden des Berichts mit.