2016-03-04 17 views
-1

我在處理一個我的應用程序時遇到了一些小問題。 我有一艘船的歷史,它顯示在一個ListView上,但直到現在我從來都不需要顯示這個歷史中的所有數據(用戶使用某種過濾器來獲得他所需要的),但現在其中一個管理者希望通過應用程序查看所有數據(他們通過Excel報告接收完整數據)。帶有6000行c的ListView#

最大的問題是因爲它的6000行每列有21列,當我嘗試選擇所有數據時,需要5分鐘到滿載的時間,但是用戶需要添加新的,編輯或複製這個歷史讓他在列表中加入了5分鐘的新的更新。

我不太清楚如何處理這個最好的方法,我希望你的幫助!

+3

解決性能問題的第一步是測量和識別性能問題。數據庫查詢需要很長時間嗎?應用邏輯?用戶界面? 「有些東西很慢,我該如何解決它?」不是一個可回答的問題。首先確定*什麼*慢。 – David

+0

我只想知道一些改進,我可以用大量的行ListView做。需要更多時間的是用戶界面。如果我發佈一些代碼會有幫助嗎? –

+1

什麼是你的UI - WinForms,WPF,ASP.NET?如果WinForms - 測量時間,就像大衛一樣。我用ListView檢查了我的應用程序,20列10000行 - 綁定和顯示時間(無需從數據庫加載數據)約爲4秒。 – SashaDu

回答

1

我實際上會將信息分成幾部分。爲什麼不使用像alphabetize信息的東西,而不是一次加載6000行和列?爲A-G使用不同的ListView,然後爲H-O使用另一個ListView,然後如此等等。這就是爲什麼它會減少查詢所有信息所花費的時間。

+0

你說保存所有的信息,但只顯示它的部分,不要花太長時間才能完全加載?或者只是有多個ListView被填充,但每次只顯示一個? –

+0

如果您想節省時間,並且仍然能夠查看信息,而不需要花費很長時間,我只需保存所有信息即可使用多個列表視圖,但可以爲每個列表視圖添加一個按鈕。舉例來說;如果您想查看A-G中的所有內容,請按該列表視圖的按鈕,並僅顯示A-G。所有信息仍將保存,但一切不會一次全部顯示。 –