質問

" RelativePath"という名前のフィールドを持つデータソースでローカルレポートを作成しました。 WinFormsアプリがレポートをレンダリングするとき、RelativePathフィールドで指定された場所にファイルをエクスポートします。レポートビルダーで、ナビゲーション|ハイパーリンクアクション| URLへジャンプを" = Fields!RelativePath.Value"に設定します。レポートのEnableHyperlinkプロパティをtrueに設定します。ただし、アプリがレポートをレンダリングするたびに、ハイパーリンクはアクティブになりません。ただし、URLへのジャンプを絶対パスにハードコードすると、問題なく機能します。 ReportViewerは相対パスでハイパーリンクをレンダリングしませんか?

役に立ちましたか?

解決

私は同じ問題に取り組んでいますが、その後、reportviewerは相対パスのハイパーリンクをサポートしていないという結論に達しました。 この問題を解決するには、相対パスを取得するカスタムコードを追加してから、URLの一部にしたいフィールド値と連結します。

シャディ

他のヒント

同じ問題が発生しました。これを回避するために、「AbsolutePath」というレポートパラメーターを作成しました。

.rdlcファイルのデザインビューに移動します。 [レポートデータ]で、タブには、[パラメータ]が表示されます。ノード。右クリックして:

  1. パラメータを追加...
  2. [全般]タブで、「AbsolutePath」と入力します。 Nameプロパティで。
  3. 「デフォルト値」をクリックします
  4. 「値を指定」を選択します;ラジオボタン。
  5. 新しい値" AbsolutePath"を追加します。

TextBoxのアクション式で、このようなものを追加します=" javascript:void(window.open( '" + Parameters!AbsolutePath.Value +" /yourpage.aspx?id = " + Fields!Id.Value +" '、' _blank '))"

新しい" AbsolutPath"パラメータを使用して式に追加できます。

次のように、値をレポートのパラメーターに渡す必要があります。

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

式でグローバル変数 Globals!ReportServerUrl を使用するだけです

= Globals!ReportServerUrl + "yourpath"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top