Frage

Ich habe einen lokalen Bericht über eine DataSource erstellt, in der ein Feld mit dem Namen "RelativePath" enthält. Wenn meine WinForms -App den Bericht rendert, exportiert sie Dateien in den im Feld RelativePath angegebener Ort. Im Berichtsbauer setze ich die Navigation | Hyperlink -Aktion | zu URL auf "= fields! Immer wenn meine App den Bericht macht, ist der Hyperlink nicht aktiv. Wenn ich den Sprung zu URL auf einen absoluten Weg harte, funktioniert es gut. Macht der ReportViewer keinen Hyperlink mit einem relativen Weg?

War es hilfreich?

Lösung

Ich habe mit dem gleichen Problem zu kämpfen, wonach ich zu dem Schluss gekommen bin, dass der ReportViewer Hyperlinks mit dem relativen Weg nicht unterstützt. Um dieses Problem zu lösen, besteht das Hinzufügen eines benutzerdefinierten Code, der den relativen Pfad abruft und dann mit den Feldwerten übereinstimmt, die Sie möglicherweise Teil der URL sein möchten - zumindest für mich.

Shaddie

Andere Tipps

Ich habe das gleiche Problem gestoßen. Um dies zu umgehen, habe ich einen Berichtsparameter "Absolutepath" erstellt.

Gehen Sie zur Designansicht der .rdlc -Datei. Auf der Registerkarte "Berichtsdaten" sehen Sie einen "Parameter" -Kode. Klicken Sie mit der rechten Maustaste auf:

  1. Parameter hinzufügen ...
  2. Geben Sie auf der Registerkarte Allgemeiner "Absolutepath" in die NAME -Eigenschaft ein.
  3. Klicken Sie auf "Standardwerte"
  4. Wählen Sie das Optionsfeld "Werte angeben".
  5. Fügen Sie einen neuen Wert "Absolutepath" hinzu.

Fügen Sie im Aktionsausdruck Ihres Textfelds so etwas hinzu. "JavaScript: void (window.open ('" + Parameter! Absolutepath.Value + "/yourpage.aspx?id=" + fields! id.value + "',' _blank '))"

Sie können sehen, dass der neue Parameter "Absolutpath" zur Verfügung steht, um Ihren Ausdruck hinzuzufügen.

Jetzt müssen Sie den Wert so in die Paramper des Berichts übergeben.

    string baseUrl = Request.Url.GetLeftPart(UriPartial.Authority);
    var param = new ReportParameter("AbsolutePath", baseUrl);
    this.ReportViewer.LocalReport.SetParameters(param);

Verwenden Sie einfach die globale Variable Globals!ReportServerUrl im Ausdruck

= Globals!ReportServerUrl + "yourpath"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top