Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
DataSet in ReportViewer ausgeben
Estorik
myCSharp.de - Member



Dabei seit:
Beiträge: 62

Themenstarter:

DataSet in ReportViewer ausgeben

beantworten | zitieren | melden

Hallo Leute,

ich habe ein Problem mit der Ausgabe eines DataSets im ReportViewer Steuerelement. Dats DataSet enhält definitiv Daten(hab ich überprüft) nur zeigt mir der ReportViewer nichts an, obwohl ich ihm das DataSet übergeben habe.

Hier mal mein Code dazu...


           DB_Connector con = new DB_Connector(centralDataPath, "Difference");

           rpvDifferenceViewer.ProcessingMode = ProcessingMode.Local;

           LocalReport lc = rpvDifferenceViewer.LocalReport;

           ReportDataSource src = new ReportDataSource("Result", con.getCompleteTableContentFromDataBase());
           rpvDifferenceViewer.LocalReport.DataSources.Add(src);

           rpvDifferenceViewer.RefreshReport();


Hab ich dort einen Fehler? oder warum funktioniert das nicht.

Die Funktionsnamen sollte ich ein wenig überarbeiten ;P


Gruß

Esto
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7559
Herkunft: Waidring

beantworten | zitieren | melden

Hallo Estorik,

stimmt der Name der ReportDataSource mit jenem vom DataSet überein? Wenn ich mich recht erinnere, so müssen diese zusammenstimmen, sonst kann das DS nicht verarbeitet werden.

mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
Estorik
myCSharp.de - Member



Dabei seit:
Beiträge: 62

Themenstarter:

beantworten | zitieren | melden

Hi gfoidl,

danke für die schnelle Antwort! Ich hab die Namen angepasst, doch leider macht er noch immer nichts. Er gibt aber auch keine Fehlermeldung oder irgendwas aus...


Gruß

Esto
private Nachricht | Beiträge des Benutzers
dN!3L
myCSharp.de - Experte

Avatar #avatar-2985.png


Dabei seit:
Beiträge: 3138

beantworten | zitieren | melden

Dann wird es wohl ein Fall für [Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7559
Herkunft: Waidring

beantworten | zitieren | melden

Hallo Estorik,

ich hab deinen Code mit jenem aus Mehrere Informationen (Bild, Tabelle) auf einer (Report/PDF/Web-)Seite darstellen verglichen und da fällt auf, dass deinem Bericht die Berichtsdefinition nicht zugewiesen wird. Machst du das auf eine andere Weise?

mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
Estorik
myCSharp.de - Member



Dabei seit:
Beiträge: 62

Themenstarter:

beantworten | zitieren | melden

Öhhhm ne hab ich bisher nicht gemacht... :) Dann wird da der Fehler liegen... Ich arbeite das erste mal mit dem Ding :)

Danke dir...
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3778
Herkunft: Frankfurt a.M.

beantworten | zitieren | melden

Ein Beispiel für Anzeige von Daten aus einem Dataset findest Du auf :

http://www.gotreportviewer.com/

Und viele Beispiele mehr ...

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
Estorik
myCSharp.de - Member



Dabei seit:
Beiträge: 62

Themenstarter:

beantworten | zitieren | melden

Aller besten Dank Leute.... :)
private Nachricht | Beiträge des Benutzers
Estorik
myCSharp.de - Member



Dabei seit:
Beiträge: 62

Themenstarter:

beantworten | zitieren | melden

Mal ne Frage zum Verständnis!

Wenn ich dem ReportViewer doch eine Tabelle eines DataSets gebe, ist doch die Struktur des Reports definiert. Warum muss ich noch eine Berichtsdefinition (.rdlc) einbinden?

irgendwie steig ich da nicht durch...

Also sind die Schritte folgendermaßen???

1. Den ReportViewer auf die Form ziehen
2. Als Datenquelle des ReportViewers die Berichtsdatei (.rdlc) wählen
3. Als Datenquelle für den Bericht(.rdlc) das entsprechende DataSet wählen.
4. Den Bericht in den Viewer kippen?

Und wie den Bericht dynamisch im code je nach DataSet generieren?

Ich versteh das Ding net so ganz... :)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Estorik am .
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7559
Herkunft: Waidring

beantworten | zitieren | melden

Hallo Estorik,
Zitat
doch eine Tabelle eines DataSets gebe, ist doch die Struktur des Reports definiert
überhaupt nicht. Das sind nur die Daten, aber wie diesen angezeigt werden sollen (Textboxen, Diagramme, Positionierung) ist durch die Tabelle nicht angegeben. Dazu ist die Berichtsdefinition nötig.

mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
Estorik
myCSharp.de - Member



Dabei seit:
Beiträge: 62

Themenstarter:

beantworten | zitieren | melden

Hmm ja stimmt irgendwie logisch. Hab wahrscheinlich grad ein Brett vor dem Kopf.

Aber der Ablauf ist richtig?
Zitat
1. Den ReportViewer auf die Form ziehen
2. Als Datenquelle des ReportViewers die Berichtsdatei (.rdlc) wählen
3. Als Datenquelle für den Bericht(.rdlc) das entsprechende DataSet wählen.
4. Den Bericht in den Viewer kippen?

Kann ich dem Bericht jedes x-beliebige Steuerelement übergeben?
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7559
Herkunft: Waidring

beantworten | zitieren | melden

Hallo Estorik,

der Ablauf passt.
Zitat
Kann ich dem Bericht jedes x-beliebige Steuerelement übergeben?
Was meinst du denn damit? Lies dir mal oben den Link von BerndFm durch, mir scheint du weißt nicht was du da tust, zumindest verstehe ich diese Frage so. Beachte bitte vorsorglich [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
Estorik
myCSharp.de - Member



Dabei seit:
Beiträge: 62

Themenstarter:

beantworten | zitieren | melden

Hmm bezüglich dieses ReportViewers hast du sicherlich recht... :) Ich hatte für einen kurzen Moment gedacht ich kann alle Steuerelemente in diesem Report verwenden.... :P Ich werd kein Freund von dem Ding :)
private Nachricht | Beiträge des Benutzers
Estorik
myCSharp.de - Member



Dabei seit:
Beiträge: 62

Themenstarter:

beantworten | zitieren | melden

Also ich habs jetzt endlich geschafft....

Ich habe im (.rdlc) File direkt eine selbstgebastelte Klasse als Datenquelle übergeben und es läuft jetzt perfekt.

Hier mal mein Test Code...


           Item a = new Item("DateiName 1", 1, 4, "Dies ist der Zelleninhalt 1");
           Item b = new Item("DateiName 2", 2, 5, "Dies ist der Zelleninhalt 2");
                   
           List<Item> diff = new List<Item>();
           
           diff.Add(a);
           diff.Add(b);
          
           rpvDifferenceViewer.ProcessingMode = ProcessingMode.Local;

           rpvDifferenceViewer.LocalReport.ReportPath = "xxx\\Report1.rdlc";
           rpvDifferenceViewer.LocalReport.DataSources.Add(new ReportDataSource("Different", diff));
           rpvDifferenceViewer.RefreshReport();

Und hier meine (Test) Klasse Item...


 public class Item
{
        public string FileName { get; set; }
        public int RowNumber { get; set; }
        public int ColNumber { get; set; }
        public string Content { get; set; }

        public Item(string fileName, int rowNumber, int colNumber, string content)
        {
            FileName = fileName;
            RowNumber = rowNumber;
            ColNumber = colNumber;
            Content = content;
        }
}

Und ich hab gedacht das Ding treibt mich in den Wahnsinn... :)


Danke nochmal für die tatkräfitige Unterstützung...:)

Gruß

Esto
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Estorik am .
private Nachricht | Beiträge des Benutzers