2012-04-02 11 views
1

C#でデスクトップアプリケーションとしてCrystal Reportsのレポートデータを更新するにはどうすればよいですか?レポートを作成しましたが、ボタンをクリックせずに2分ごとにデータを更新します。出来ますか?Crystal Reportsの自動更新

答えて

3

使用しているCrystal Reportsのバージョンによって異なりますが、Crystal Reports 2008でVB.netでタイマーコントロールを使用し、次のコードを使用しています。

Me.Cursor = Cursors.WaitCursor 

crvActive.ReuseParameterValuesOnRefresh = True ' Do not ask for new parameters 

crxReport.Refresh() 
crvActive.RefreshReport() 

With crvActive ' Get the number of pages after the refresh 
    .ShowLastPage() 
    NumPages = .GetCurrentPageNumber 
    .ShowFirstPage() 
End With 

Me.Cursor = Cursors.Default 

crvActiveは、フォーム上のビューアコントロールです。crxReportはReportDocumentオブジェクトです。これをC#に変換してTimerイベントにバインドすることをお勧めします。

幸運。

+0

私はVB.netをよく知らないし、Crystal Reports 2005を使用しています。また、あなたのコードでリフレッシュ時間を見ることができませんでした。 –

+1

@ÖmerFarukAKこの演習では、読みやすさと変換の点でC#とVBの違いはほとんどありません。あなたがする必要があるのは、あなたのフォームにタイマーコントロールを追加することです。火事イベントでは、私があなたに与えたリフレッシュコードを行います。 –

+0

最後に、私は.NETでタイマー機能の使い方を学び、リフレッシュごとにパラメータの値を書き換えます。 VS2005には1つのリュースパラメータがあるためです。 –