0

So habe ich einen Bericht in Reporting Services 2005. Darin ist ein Parameter (ConnectionString), die bestimmt, welche Datenquelle der Bericht verwendet. Es hat auch einige andere Parameter, die Dropdown-Listen sind, die von der Datenquelle abgeleitet werden, die in dem ConnectionString-Parameter ausgewählt wird.ReportViewer Web Control und dynamische Verbindungszeichenfolgen

Im Berichts-Manager funktioniert das großartig. Alle Dropdowns sind zu Beginn grau hinterlegt. Wenn Sie Ihre Datenquelle auswählen, werden die Seitenanfragen/Neuanpassungen und alle verfügbaren Parameterwerte für die anderen Parameter basierend auf den Abfragen für diese Felder ausgefüllt.

jedoch ...

Im Report Web-Steuerung, wenn der Bericht zuerst geladen wird, anstelle von Dropdown-Boxen alle anderen Parameterfelder sind nur leere Textfelder. Wenn Sie eine andere Datenquelle für den ConnectionString-Parameter auswählen, werden die anderen Parameter nicht erneut abgefragt/neu gezeichnet.

Ich habe die ReportViewer-Programmreferenz durchsucht, um zu sehen, ob es eine Möglichkeit gibt, die Berichtswebseite nach bestimmten Parameteränderungen neu zu laden, aber ich kann dort nichts finden, was nicht stimmt. t über meinem armen kleinen .NET Kopf.

Irgendwelche Ideen?

Antwort

2

Nicht sicher, ob dies eine Hilfe ist, aber ich habe einen Vorschlag. Ich würde versuchen, die Logik für Dropdown-Boxen aus dem Bericht zu ziehen und sie in eine ASP.net-Seite zu legen. Übergeben Sie dann die Parameter an den Bericht und steuern Sie das Rendering/Refreshing.

HTH

+0

Dies ist, was wir schließlich taten - wir verwendeten einige eingebaute ASP.NET-Ereignisse, um die Dropdown-Boxen nach Bedarf neu zu laden. Irgendwie umständlich, aber letztendlich der Weg, denke ich. –

0

UPDATE: So stellt sich heraus Sie einen Standardwert für alle Parameter zur Verfügung stellen müssen, was wiederum andere Parameter in Ihrem Bericht, um Auswirkungen auf die Dropdown-Box laden ordnungsgemäß bei der Initialisierung zu erhalten. Beachten Sie auch, dass dies rekursiv ist. Wenn Sie also einen Parameter haben, der einen anderen Parameter beeinflusst, der einen anderen Parameter beeinflusst, müssen sowohl der erste als auch der zweite Parameter Standardwerte haben.

Verwandte Themen