GrapeCity ActiveReports for .NET 14.0J
WPFビューワでのレポートの表示
ActiveReportsユーザーガイド > レポートの表示 > WPFビューワの使用 > WPFビューワでのレポートの表示

ActiveReports WPFビューワは、セクションレポート、ページレポート、RDLレポートのすべてのレイアウトを簡単に表示できるカスタムコントロールです。

このチュートリアルは以下の項目に分かれています。

チュートリアルを完了すると、次のようなレポートが作成されます。

Visual StudioでWPFアプリケーションを作成する

  1. Visual Studioの[ファイル]メニューで、[新しいプロジェクト]をクリックします。
  2. [新しいプロジェクト]ダイアログが表示されたら、テンプレートの一覧から[WPFアプリケーション]を選択します。
  3. プロジェクトの名前と場所を指定して[OK]をクリックします。
  4. Visual Studioの[ソリューションエクスプローラー]で、プロジェクト名を右クリックして[追加] - [新しい項目]を選択します。
  5. [新しい項目の追加]ダイアログが表示されたら、[ActiveReports 14.0J ページレポート(XML)]を選択し、「単一レイアウトのレポート」の説明に従ってrptSingleLayoutレポートを作成します。

WPFビューワコントロールを追加する

  1. [ソリューションエクスプローラー]で、MainWindow.xamlを開きます。
  2. ツールボックスの[ActiveReports 14]タブからViewerコントロールをドラッグし、MainWindow.xamlのデザインビューにドロップします。
    メモ:ViewerコントロールをMainWindow.xamlのデザインビューにドラッグすると、licenses.licxファイルへの対応する参照が自動的に追加されます。
  3. [プロパティ]ウィンドウで、Viewerコントロールのプロパティを以下のように設定します。
    プロパティ名 プロパティの値
    HorizontalAlignment Stretch
    VerticalAlignment Stretch
    Margin 0
  4. [プロパティ]ウィンドウで、Viewerコントロールの名前を viewer1に変更します。

WPFビューワにレポートをロードする

  1. [ソリューションエクスプローラー]で、作成したrptSingleLayoutレポートを選択します。
  2. [プロパティ]ウィンドウで、[出力ディレクトリにコピー][常にコピーする]に設定します。
  3. MainWindow.xamlで、ビューワを選択した状態で[プロパティ]ウィンドウに移動し、Loadedイベントをダブルクリックします。
  4. MainWindowのコードビューが表示されたら、以下に示すレポートをビューワにバインドするコードをviewer1_loadedイベントに追加します。これはページレポート/RDLレポートをロードするコードですが、セクションレポートにも使用できます。
    Visual Basicコード (MainWindow.xaml.vbのviewer1_Loadedイベント内に貼り付けます)
    コードのコピー
    Viewer1.LoadDocument("rptSingleLayout.rdlx")
    
    C#コード (MainWindow.xaml.csのviewer1_Loadedイベント内に貼り付けます)
    コードのコピー
    viewer1.LoadDocument("rptSingleLayout.rdlx");
    
メモ: WPFビューワにレポートをロードする他の方法については、クラスライブラリの「LoadDocumentメソッド」を参照してください。
メモ: 実行時にトライアル版のバナーが表示されないようにするには、作成したActiveReports WPFアプリケーションプロジェクトにライセンスを付与します。ライセンス付与に関する情報については、「アプリケーションのライセンスの組み込み」を参照してください。
注意:Visual Studio 2012/2013でVisual Basicを使用した場合、デフォルトではライセンスファイル(Licenses.licx)がプロジェクトに含まれません。このため、ビルド時にライセンスエラー(「アプリケーションにライセンスが正しく付与されていません」)が発生します。手動でLicenses.licxファイルをプロジェクトに含めたうえでプロジェクトをビルドしてください。詳細については、「アプリケーションのライセンスの組み込み」を参照してください。

レポートを表示する

[F5]を押してプロジェクトを実行します。WPFビューワが開いてレポートが表示されます。

WPFビューワをカスタマイズする

ActiveReports WPFビューワはカスタマイズ可能なコントロールです。デフォルトのWPFビューワテンプレート(DefaultWPFiewerTemplates.xaml)のプロパティを変更することにより、WPFビューワとその要素(エラーパネル検索パネルサイドバーツールバーなど)の外観を簡単に変更できます。

WPFプロジェクトにカスタマイズテンプレートを追加するには

  1. 作成したWPFプロジェクトを開きます。
  2. [ソリューションエクスプローラー]で、プロジェクト名ノードを選択します。
  3. Visual Studioの[プロジェクト]メニューで、[既存項目の追加]をクリックします。
  4. ダイアログが表示されたら、DefaultWPFViewerTemplates.xamlを探して選択し、[OK]をクリックします。DefaultWPFViewerTemplates.xamlは、[システムドライブ]\Program Files\ActiveReportsNET14\Deployment\WPFフォルダにあります(64ビットWindowsオペレーティングシステムでは、このファイルは[システムドライブ]\Program Files (x86)\ActiveReportsNET14\Deployment\WPFにあります)。
  5. MainWindow.xamlで、<Grid>の開始タグの前に以下のコードを追加します。
    MainWindow.xamlのXAMLビューの、<Grid>の開始タグの前に貼り付けます。
    コードのコピー
    <Window.Resources>                                
    <ResourceDictionary Source="DefaultWPFViewerTemplates.xaml" />
    </Window.Resources>
    

WPFビューワのサイドバーをカスタマイズするには

  1. [ソリューションエクスプローラー]で、DefaultWPFViewerTemplates.xamlをダブルクリックします。
  2. ファイルが開いたら、"thumbnails tab"を検索します。
  3. <!-- thumbnails tab -->のGroupBox Headerプロパティで、"{Binding Source={StaticResource res}, Path=Resources.ThumbnailsPanel_Title}"の部分を削除して"THUMBNAILS"と入力します。
  4. "TabControl x:Name="Sidebar"を検索します。
  5. [プロパティ]ウィンドウで、Backgroundプロパティに移動して"Yellow"の背景色を選択します。
  6. [F5]を押して、カスタマイズしたビューワのサイドバーを確認します。

WPFビューワのツールバーにカスタムボタンを追加するには

  1. [ソリューションエクスプローラー]で、プロジェクト名ノードを選択します。
  2. Visual Studioの[プロジェクト]メニューで、[新しい項目の追加]をクリックします。
  3. [新しい項目の追加]ダイアログが表示されたら、[クラス]を選択して名前をMyCommandに変更し、[追加]をクリックします。
  4. MyCommand.cs/MyCommand.vbが開いたら、以下のコードを追加してコマンドを実装します。

    Visual Basic

    Visual Basicコード (MyCommand.vbに追加します)
    コードのコピー
    Implements ICommand 
    Public Function CanExecute(ByVal parameter As Object) As Boolean Implements System.Windows.Input.ICommand.CanExecute 
        Return True 
    End Function
    
    Public Event CanExecuteChanged(ByVal sender As Object, ByVal e As System.EventArgs) Implements System.Windows.Input.ICommand.CanExecuteChanged 
    
    
    Public Sub Execute(ByVal parameter As Object) Implements System.Windows.Input.ICommand.Execute 
        MessageBox.Show("GrapeCity is the world's largest component vendor.", "About Us", MessageBoxButton.OK) 
    End Sub                    
    

    C#

    C#コード (using System.Text;の後に追加します)
    コードのコピー
    using System.Windows.Input;
    using System.Windows;
    
    C#コード (MyCommand.csに追加します)
    コードのコピー
    public class MyCommand : ICommand
        {
            public bool CanExecute(object parameter)
            {
                return true;
            }
    
            public void Execute(object parameter)
            {
                MessageBox.Show("GrapeCity is the world's largest component vendor.", "About Us", MessageBoxButton.OK);
            }
    
            public event EventHandler CanExecuteChanged;
        }
                            
    
  5. [ソリューションエクスプローラー]で、DefaultWpfViewerTemplates.xamlをダブルクリックします。
  6. ファイルが開いたら、以下の3行のコードを冒頭に追加します。
    XMLコード(DefaultWpfViewerTemplates.xamlに追加します)
    コードのコピー
    <ResourceDictionary
     ...                      
    xmlns:YourProjectName="clr-namespace:YourProjectName"> 
    <YourProjectName:MyCommand x:Key="MyCommand" />
    ...                       
    </ResourceDictionary>
    

  7. 同じファイルに以下のコードを追加して、ボタンを追加します。
    XMLコード (DefaultWpfViewerTemplates.xamlの、<ToolBar>の終了タグの前に追加します)
    コードのコピー
    <Button Command="{StaticResource MyCommand}" Content="About Us" />                       
    
  8. [F5]を押して、新たに[製品について]カスタムボタンがビューワのツールバーに表示されることを確認します。

WPFビューワのツールバーから[更新]ボタンを削除する

  1. [ソリューションエクスプローラー]で、DefaultWpfViewerTemplates.xamlをダブルクリックします。
  2. ファイルが開いたら、"<!--Refresh btn-->"を検索します。
  3. Visiblity="..." の既存の内容を以下のように置き換えます。
    XMLコード(DefaultWpfViewerTemplates.xamlに追加します)
    コードのコピー
    <Button Command=... Visibility="Collapsed">