Frage

Ich muss eine zweite datatable vom Hauptdatensatz unserer App in einen Bericht hinzufügen, jedoch nicht viel Glück.

Wir verfügen über mehrere einfache lokale Berichte in RDLC-Dateien, die jeweils mit einem einzigen generationspoDicetagcode basierend auf einer Ansicht in unserer Anwendungs-DB basierend auf einem einzigen Genuss.Ich muss eine der Berichte verbessern, um Informationen von einer anderen Tabelle hinzuzufügen.Diese andere Tabelle ist in demselben Core-DataTable definiert, den wir für Berichte in unserer .NET 2.0-WinForms-Anwendung verwenden.Da die beiden Tabellen sich in demselben Dataset befinden, kann ich nur sicherstellen, dass beide Tabellen in das Datensatz geladen werden und dann den Bericht anstelle der DataTable auf den Dataset aufzeigen?Etwas anderes?

Unnötig zu sagen, ich habe für eine Weile herumgespielt und nirgendwohin.

tia, Matt

War es hilfreich?

Lösung

ok, ich habe diese arbeitet und in retrospect war es ziemlich einfach. Ich wusste einfach nicht, welche Menüs verwendet werden, um gegen vs alles zu bekommen, um alles aufzuhaken, und welche Reihenfolge, in der Sie sie tun können.

Blick auf den Designer.cs für mein Formular war eigentlich das hilfreichste, was ich getan habe. Ich bemerkte, dass der ReportViewer eine Standard-BindingSource auf den ersten Tisch hat. Ursprünglich wurde ich aufgehängt, den BindingSource ein Datensatz anstelle einer datatierbaren, aber ich entschied, stattdessen eine zweite Bindingsource zu machen.

Vielleicht gibt es einen besseren Weg, aber hier ist hier im Grunde das, was ich getan habe:

    .
  1. Mit der RDLC im Designer klicken Sie auf das Berichtsmenü, dann Datenquellen.

  2. Wählen Sie im Dialogfeld Berichtsdatenquellen die zusätzliche datatable vom Dropdown-Datei aus und klicken Sie auf den Bericht hinzufügen. (Ich habe auch die neue Datenquelle umbenannt, um einfach den Namen der zusätzlichen Datentabelle zu sein; vs hatte einen gigantischen langen Namen basierend auf dem vollständigen Namesspace erstellt.) OK, um den Dialog zu schließen.

  3. Am Designer für das Formular, das mein ReportViewer-Steuerelement enthält, klickte auf das Smart-Tag von ReportViewer (der kleine Pfeil in der rechten oberen Ecke des Steuerelements) und dann ausgewählte Datenquellen. Dies machte eine zweite Bindingsource an der Unterseite der Designeroberfläche.

  4. klickte erneut auf das Smart-Tag von ReportViewer, und diese Zeit wählte "Wählen Sie Datenquellen aus, um zu bestätigen, dass der ReportViewer nun zwei Datenquellen hatte, wobei jeder an einem der generationspflichtigen Griffe li>

  5. überarbeitet den Onloadcode meiner Form, um Zeilen in die zweite datatable zu laden.

  6. ging in die RDLC-Datei zurück, fügte eine neue Tabelle hinzu und legte die Detailzellen in den zweiten datatablen Feldern ein, und es funktionierte!

  7. Hoffentlich wird dies ein paar Stunden eines Tages jemanden retten.

Andere Tipps

hat einen Weg gefunden, um es in Visual Studio 2010 zu verwenden. Klicken Sie auf Ansicht> ReportData, und wenn die Berichtsdaten zu sehen sind, klicken Sie auf Datenquellen und klicken Sie dann auf Hinzufügen.Tun Sie dies so oft wie die Anzahl der benötigten Datasets.

Jetzt in den Smart-Tags des ReportViewers klicken Sie auf DataSources auswählen, dadurch wird jeder der Datensätze angezeigt.Um die Datensätze mit einer Bindungsquelle zuzuordnen, müssen Sie auf das Projekt klicken und dann weiterklicken, bis Sie die entsprechende Klasse erhalten, dadurch werden die zu erstellenden verbindlichen Quellen angezeigt.

Diese Arbeit ist sehr nützlich, wenn Sie mehrere Tabliken haben, und Sie müssen ihnen innerhalb desselben Berichts eine verbindliche Quelle verknüpfen, wenn der Bericht auf dem Berichtsviewer angezeigt wird

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top