ActiveReports for .NET 18.0J
ハイパーリンクの追加
ActiveReportsユーザーガイド > 基本操作 > セクションレポートの基本操作 > 対話的な操作 > ハイパーリンクの追加

以下のコントロールのHyperlinkプロパティを使用して、レポートにハイパーリンクを追加することができます。

ハイパーリンクを作成すると、Webページまたはブックマークへの移動、メールを開くなどさまざまな処理が可能になります。

メモ: リンク切れを防ぐため、Hyperlinkプロパティには完全なパス(例 http://www.grapecity.com/jp/ )を指定してください。

Webページのリンクを作成する

  1. 既存のコントロールを選択するか、Visual Studioのツールボックスから特定のコントロールをデザイナ面上にドラッグ&ドロップします。
  2. [プロパティ]ウィンドウへ移動し、Hyperlinkプロパティに有効なURLを設定します(例 http://www.grapecity.com/jp/)。

メールにリンクする

  1. 既存のコントロールを選択するか、Visual Studioのツールボックスから特定のコントロールをデザイナ面上にドラッグ&ドロップします。
  2. [プロパティ]ウィンドウへ移動し、Hyperlinkプロパティに有効なE-mailアドレスを設定します。

ハイパーリンク用のURLをデータベースのフィールドから解析する

  1. レポートエクスプローラからリンクフィールドをデザイナ面上にドラッグ&ドロップします。
  2. リンクフィールドを含むセクションをダブルクリックします。セクションのFormatイベントのイベント処理メソッドが作成されます。
  3. Formatイベントに次のコードを追加します。
    • リンクフィールドからURLを解析する
    • TextBoxHyperLinkプロパティに割り当てる
    • TextBoxで表示されるテキストからURLのマーカーを削除する

    Visual Basic

    Visual Basicコード(Formatイベント内に貼り付けます)
    コードのコピー
    Dim iStart As Integer
    Dim sHTML As String
    If textBox1.Text <> "" Then
        iStart = InStr(1, textBox1.Text, "#", CompareMethod.Text)
        sHTML = Right(textBox1.Text, (Len(textBox1.Text) - iStart))
        sHTML = Replace(sHTML, "#", "", 1, -1, CompareMethod.Text)
        textBox1.HyperLink = sHTML
        textBox1.Text = Replace(textBox1.Text, "#", "", 1, -1, CompareMethod.Text)
    End If
    

    C#

    C#コード(Formatイベント内に貼り付けます)
    コードのコピー
    int iStart;
    string sHTML;
    if (textBox1.Text != "")
        {
         iStart = textBox1.Text.IndexOf("#",0);
         sHTML = textBox1.Text.Substring(iStart, textBox1.Text.Length - iStart);
         sHTML = sHTML.Replace("#", "");
         textBox1.HyperLink = sHTML;
         textBox1.Text = textBox1.Text.Replace("#", "");
        }
    

ブックマークにジャンプする

  1. レポートエクスプローラからTextBoxコントロールのフィールドをデザイナ面上にドラッグ&ドロップします。
  2. TextBoxコントロールを含むセクションをダブルクリックします。セクションのFormatイベントのイベント処理メソッドが作成されます。
  3. ハンドラに次のコードを追加します。

    Visual Basic

    Visual Basicコード(Formatイベント内に貼り付けます)
    コードのコピー
    Public pBM As New BookmarksCollection()
    Dim iEntry As Integer
    
    Visual Basicコード(Formatイベント内に貼り付けます)
    コードのコピー
    Me.Detail1.AddBookmark(Me.textBox1.Text)
    Me.txtEntry.HyperLink = "toc://" + pBM(iEntry - 1).Label
    Me.txtEntry.Text = pBM(iEntry - 1).Label     
    Me.txtPage.Text = pBM(iEntry - 1).PageNumber
    

    C#

    C#コード(Formatイベント内に貼り付けます)
    コードのコピー
    public BookmarksCollection pBM = new BookmarksCollection();
    int iEntry;
    
    C#コード(Formatイベント内に貼り付けます)
    コードのコピー
    this.detail.AddBookmark(this.textBox.Text);
    this.txtEntry.HyperLink = "toc://" + pBM[iEntry - 1].Label;
    this.txtEntry.Text = pBM[iEntry - 1].Label;
    this.txtPage.Text = pBM[iEntry - 1].PageNumber.ToString();
    

目次にブックマークのページ番号を表示する

  1. レポートの周囲にあるグレーの領域を選択し、右クリックしてコンテキストメニューから「プロパティ」を選択します。
  2. [プロパティ]ウィンドウの[イベント]ボタンをクリックし、使用可能なイベントの一覧を表示します。
  3. FetchDataイベントを選択し、ダブルクリックします。レポートのFetchDataイベントのイベント処理メソッドが作成されます。 
  4. イベントハンドラに次のコードを追加します。

    Visual Basic

    Visual Basicコード(FetchDataイベント内に貼り付けます)
    コードのコピー
    If iEntry > pBM.Count - 1 Then
        eArgs.EOF = True
    Else
        eArgs.EOF = False
        iEntry += 1
    End If
    

    C#

    C#コード(FetchDataイベント内に貼り付けます)
    コードのコピー
    if (iEntry > pBM.Count - 1)
    {
        eArgs.EOF = true;
    }
    else
    {
        eArgs.EOF = false;
        iEntry += 1;
    }
    
関連トピック