2012-04-02 78 views
1

如何使用C#作为桌面应用程序刷新Crystal Reports的报表数据。我已经创建了我的报告,但是我想每2分钟刷新一次数据,无需点击任何按钮。可能吗?自动刷新水晶报表

回答

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是窗体上的Viewer控件,crxReport是ReportDocument对象。我希望你可以把它翻译成C#并将它绑定到Timer事件。

祝你好运。

+0

我不知道VB.net和我正在使用水晶报告2005.而且我也看不到刷新时间在您的代码。 – 2012-04-02 16:03:13

+1

@ÖmerFarukAK就本练习而言,C#和VB在可读性和转换方面几乎没有区别。你需要做的是添加一个计时器控件到你的表单,并在火灾事件中执行我给你的刷新代码。 – 2012-04-03 15:35:24

+0

终于我了解了.NET中timer函数的用法,并重新刷新了每次刷新时的参数值。因为在VS2005中有一个复用参数。 – 2012-04-17 18:13:30