2016-03-04 19 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。所有信息仍将保存,但一切不会一次全部显示。 –