C# ReportViewer mit nicht typisierten datatable-Quellen
Habe ich überprüft durch die Geschichte der Fragen, Treffer, google, und andere Ergebnisse und bin immer noch völlig verblüfft über die C# - reportViewer. Es scheint zu wollen, nur mit "eingegeben" werden datasets. Wie viele andere Leute befragt habe, und ich sah keine wirkliche Antwort, vielleicht ein neues posting zu ziehen etwas neues.
In seiner einfachsten form, ich habe eine business-Objekt, führt eine Abfrage aus einer Datenbank. Ich weiß, was die sich ergebenden Spalten sind und wollen, haben es eingesteckt in einen spezifischen Bericht, der richtig "formatiert", wie ich brauche, im Gegensatz zu einer einfachen spaltenförmigen dump.
Da die Abfrage gibt eine "DataTable" - Objekt, aber keine bekannten Spalten sind "typisiert", ich bin gehimmelt.
Wie erwähnt in anderen Beiträgen, wenn ich ein system von über 200 Tische, 400+ views und 200+ stored procedures, ich will nicht type-cast alles. Vor allem, wenn ich mache eine NEUE Abfrage, die das Ergebnis der einzelnen Tische war von einige NEUE gespeicherte Prozedur.
Sollte es nicht so schwer zu ziehen einen Bericht. Wenn ich die Spalte falsch, oder SUM(), COUNT(), oder was auch immer falsch, das ist meine Schuld, aber zumindest lassen Sie mich eine nicht typisierte Tabelle in einem Bericht.
Helfen...
Du musst angemeldet sein, um einen Kommentar abzugeben.
DataTable-Spalten müssen nicht eingegeben werden, Sie können alle verwenden die Standard-string.
Was ich Tat, war ich fügte hinzu, ein DataSet zu meinem Projekt und entwarf das DataSet entsprechen meiner Abfrage. Ich ließ alle Spalten als strings. In der RDLC, ich habe eine Tabelle mit diesem DataSet als mein datasource, streng für die design-Zeit-Zwecke.
Zur Laufzeit, ich stattdessen dynamisch getauscht in eine DataTable generiert ich und stellte sicher, dass die abgestimmten design-Zeit-Datensatz (denn Sie sind alle strings, ich muss nur sicherstellen, dass meine DataTable hat die gleiche Anzahl von Spalten und die Spaltennamen übereinstimmen).
Zur Laufzeit der ReportViewer lädt diese DataTable als Datenquelle und verwendet Sie zum füllen der Tabelle.
Ist, dass das, was Sie nach sind?