64ビット環境でOleDbプロバイダに接続しているレポートをプレビューすると「'Microsoft.Jet.OLEDB.4.0'プロバイダはローカルのコンピュータに登録されていません。」という例外が発生する
64ビット環境でOleDbプロバイダに接続しているレポートをプレビューすると、エラーメッセージ「System.InvalidOperationException:'Microsoft.Jet.OLEDB.4.0'プロバイダはローカルのコンピュータに登録されていません。」が表示されます。
これは、Microsoft.Jet.OLEDB.4.0は64ビットと互換性がないため、64ビットオペレーティングシステムでは失敗するから発生します。
この事象を回避するには、以下の2つの方法があります。
1. (推奨)OleDbプロバイダをMicrosoft.ACE.OLEDB.12.0に変更します。
2. 32ビットのみを使用するようにプロジェクト設定を変更します。
Viewerのボタン(印刷ボタンなど)が英語表示になる
この現象は、日本語リソースを含んでいるサテライトアセンブリファイルが、配布先環境上で正常に参照できていない場合に発生します。
サテライトアセンブリファイルには、ユーザーインタフェース部分の日本語リソースが含まれており、本体アセンブリを配置したフォルダに\Jaフォルダを作成して、その中に配置する必要があります。
詳細については、よくある質問の「配布・ライセンス」で「アプリケーションを配布する」を参照してください。
表示倍率の初期値を設定する
ViewerコントロールのZoomプロパティで、プレビュー時の表示倍率を設定することが可能です。
    こちらのプロパティを「-1」に設定すると「ページ幅を基準」で、「-2」に設定すると「ページ全体」でプレビュー表示が行われます。
    なお、表示倍率を「ページ幅を基準」と「ページ全体」に設定できるのは、レポートの表示形式(ViewTypeプロパティ)が「Single(単一ページ形式)」に設定されている時のみです。「Continuous(連続ページ形式)」の時には設定できません。
Visual Basic
| Visual Basicコード | 
                             
                                コードのコピー
                             
                         | 
                    
|---|---|
                            
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim rpt As New SectionReport1()
    rpt.Run()
    Viewer1.Document = rpt.Document
    ' 表示形式を"単一ページ"形式に設定します。
    Me.Viewer1.ViewType = GrapeCity.Viewer.Common.Model.ViewType.SinglePage
    Viewer1.Zoom = -1  ' ページ幅を基準
    'Viewer1.Zoom = -2 ' ページ全体
End Sub
  
                         | 
                    |
C#
| C#コード | 
                             
                                コードのコピー
                             
                         | 
                    
|---|---|
                            
private void Form1_Load(object sender, EventArgs e)
   {
    SectionReport1 rpt = new SectionReport1();
    rpt.Run();
    this.viewer1.Document = rpt.Document;
    // 表示形式を"単一ページ"形式に設定します。
    this.viewer1.ViewType = GrapeCity.Viewer.Common.Model.ViewType.SinglePage;
    this.viewer1.Zoom = -1;  // ページ幅を基準
    //this.viewer1.Zoom = -2;  // ページ全体
   }
                                                
                         | 
                    |
改ページ時に常にそのページの先頭を表示する
レポートのプレビュー時、ページを切り替えたときに、表示位置をページの先頭に戻すには
    ビューワコントロールの、ViewerクラスのRepositionPageプロパティを、Trueに設定することで実現できます。
Viewerをカスタマイズする
Windowsフォーム上で使用するViewerコントロールの外観をカスタマイズできます。詳細は、「Viewerコントロールのカスタマイズ」を参照してください。
Viewerのツールバーにコントロールを追加する
Viewerのツールバーにコントロールを追加するには、「Viewerコントロールのカスタマイズ」を参照してください。
Viewerコントロールの表示内容をクリアする
空のSectionDocumentオブジェクトをLoadDocumentメソッドで読み込むことで、Viewerコントロールにセットされているレポートをクリアし、レポートが読み込まれていない状態にすることができます。
Visual Basic
| Visual Basicコード | 
                             
                                コードのコピー
                             
                         | 
                    
|---|---|
                            Private Sub Button1_Click(...) Handles Button1.Click Me.Viewer1.LoadDocument(New GrapeCity.ActiveReports.Document.SectionDocument) End Sub  | 
                    |
C#
| C#コード | 
                             
                                コードのコピー
                             
                         | 
                    
|---|---|
                            
private void button1_Click(object sender, System.EventArgs e)
 {
   this.viewer1.LoadDocument(new GrapeCity.ActiveReports.Document.SectionDocument());
 }
 
                         | 
                    |
Viewer.Printメソッドを使用すると、例外が発生する
レポートが完全にロードされていないタイミングでViewerクラスのPrintメソッドを使用して印刷処理を行うと、例外が発生します。この例外を回避するには、LoadCompletedイベントで印刷を実行してください。
WPF プロジェクトでツールボックスにWPFビューワが表示されない
Visual Studioにおいて、新規プロジェクトにMESCIUS.ActiveReports.Viewer.Wpf.jaパッケージを追加すると、ツールボックスにWPFビューワが表示されません。
これは、Visual Studioの制限であり、XAML ホットリロードが正しく機能しないことに関連して発生します。
この事象を回避するには、次のようにXAML ホットリロードを有効にしてください。
詳細については、「XAML ホット リロードのトラブルシューティング」を参照してください。
ASP.NET Core MVCアプリケーションで実行されているJSビューワからページ/RDLレポートをエクスポートする時にエラーが表示される
.NET Coreデスクトップアプリでは、Windowsフォーム用ビューワまたはWPFビューワを使用してスクリプトを含むセクションレポートをプレビューする時、「System.NotSupportedException:1252のエンコードに使用できるデータはありません。」例外が発生します。カスタムエンコーディングを定義する方法については、Encoding.RegisterProviderメソッドを参照してください。
ASP.NET Core MVCアプリケーションで実行されているJSビューワからページレポートおよびRDLレポートをエクスポートする時に、エクスポートエラーが表示されます。
本現象は、ASP.NET Core MVCではいくつかの変更があって、同期サーバー操作が無効になっているから発生しています。詳細については、こちらを参照してください。
同期サーバー操作を有効にするには、次の内容をStartup.csに追加してください。
| Startup.cs | 
                         
                            コードのコピー
                         
                     | 
                
|---|---|
                        
services.Configure<IISServerOptions>(options =>
{
    options.AllowSynchronousIO = true;
});
                     | 
                |