Microsoft.Reporting Datenquelleninstanz?

jccTeq

Erfahrenes Mitglied
Hi Leute,

recht allgemein gehaltenes Topic, ich weiß. Sorry.

Folgendes Problem:

Ich möchte mit meinem Programm einen Report erstellen können. Dafür habe ich eine .rdlc Datei angelegt. Dazu eine Datenquelle von einem "Object" aus meinem Projekt. Die Felder sehe ich in dem Baum im Datenquellenmanager auch, kann sie auch in die Report-Definition ziehen. Das klappt alles wunderbar. Ich habe auch einen ReportViewer im Form. Dieser ReportViewer hat ja ein LocalReport Objekt. Diesem LocalReport Objekt weise ich nun als ReportPath meine .rdlc zu und füge eine ReportDataSource zu der DataSources Liste von dem ReportViewer hinzu, die auch die richtigen Werte enthält. Auch das geht alles noch. Nur wenn ich mir nun im Viewer den Report ansehen möchte, steht dort immer:

Für die xxx-Datenquelle wurde keine Datenquelleninstanz angegeben.

Was hab ich hier vergessen?

Hier ein Code-Schnipsel. rvOrders ist das ReportViewer Objekt. Der Pfad zur rdlc stimmt. Anstatt bindingSource1, welche auf meine Objekt-Liste zeigt, deren Eigenschaften ich im Report sehen will, habe ich auch schon direkt meine Objekt-Liste angegeben - mit dem selben Ergebnis.

Code:
            ReportDataSource tSource = new ReportDataSource("Status", bindingSource1);
            rvOrders.LocalReport.ReportPath = @".\osCommerceReports\OrderReport.rdlc";
            rvOrders.LocalReport.DataSources.Add(tSource);

Danke

Gruß,
Hendrik
 
Hallo,

hast du für das Problem inzwischen eine Lösung gefunden? ich erhalte den gleichen fehler.

MfG Lars
 
Ja, muss ich aber guggn, wie ich das gemacht hab. Hab hier gerade keinen Zugang zum Projekt...
 
Das Problem liegt vermutlich darin, dass deine Datenquelle "Status" nicht der angegebenen Datenquelle im RDLC-File entspricht. Um den richtigen Namen herauszufinden machst du folgende Schritte:

1. Öffne das RDLC-File im Report Designer
2. Vom Report-Menü wählst du Report Data Sources
3. Das sich öffnende Fenster zeigt dir den im RDLC-File verwendeten Namen

Nun musst du den Datenquellen-Namen entsprechend anpassen:

C#:
ReportDataSource tSource = new ReportDataSource("richtiger Name", bindingSource1);
Das sollte es dann gewesen sein.
 
Ja, genau, so war das. Für mich ist allerdings noch schleierhaft, woher man diesen Namen zu wissen bekommt, bevor man die Fehlermeldung liest...
 

Neue Beiträge

Zurück