2011-03-22 118 views
0

我在RDLC reports.I工作必須在65000的記錄工作,它需要在processing.After約5至6分鐘都我只是這個數據集分配給報告。在此期間用戶只能等待。分頁在RDLC在C#報告

是否有我顯示,每頁10筆,當用戶瀏覽到下一個頁面上我接下來的10條記錄工作,並顯示在page.So應用能夠更快的響應的任何選項。

回答

-1

您是否嘗試過使用異步編程或使用BackgroundWorker的?他們將爲您提供更多響應式UI,同時執行阻止過程,包括長時間運行計算。

他們兩人都是有自己的優點和缺點。在WPF

使用異步編程是相當困難的使用的BeginInvoke和EndInvoke模型和回調(雖然它在C#5/VB 11異步編程的未來版本中的簡化)。但是使用這個模型,你只需使用一個線程的上下文切換器。

使用BackgroundWorker的,這意味着在產卵後臺運行一個新的線程。

有關.NET中的異步編程更多信息,使用事件的編程模型:

http://msdn.microsoft.com/en-us/library/ms228969.aspx

這是BackgroundWorker的的參考:

http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

+0

如果我使用另一個線程的話,我有也等待線程完成其執行。用戶可以做一些其他的應用程序,但不能立即看到報告。但我的要求是我加載了10條記錄(即時)作爲用戶導航到下一頁我得到一個新的記錄,並將其附加到頁面並顯示給用戶。 – 2011-03-22 08:03:36

+0

要查看報告,您可以在ProgressWorker的回調或異步回調中獲取進度條。 – 2011-03-23 00:10:15

+0

對於那些低估這個答案的人,你能解釋一下爲什麼嗎? – 2013-05-10 04:46:11