可以加载到Windows窗体控件的最大数据量是多少?

问题描述:

我可以加载到表单控件的最大数据量是多少?可以加载到Windows窗体控件的最大数据量是多少?

根据我的经验,当超过500,000条记录添加到任何Windows窗体控件时,我的应用程序会消耗太多内存并挂起。任何线索?

是的,这会导致问题。

不要添加那么多的记录。

没人需要那么多。您需要做的是添加过滤功能,以便用户可以指定他/她想要使用的数据范围。

例如,让用户按日期缩小搜索范围(如果是时间敏感的数据),或者订单号范围,或者......好吧,无论如何。

但我可以保证你找到一种方法来添加500K行到网格或任何不是解决方案

+0

+1指出“如果你必须问,你可能做错了什么。” (http://blogs.msdn.com/oldnewthing/archive/2007/07/18/3926581.aspx)。 – 2009-04-28 17:53:44

看起来您已经找到了应用的最大内存空间。

没有单一的措施。

应用程序内存还包括您的应用程序正在使用的GDI句柄,文件句柄,线程。 确保你没有使用任务管理器和喜欢的GDI句柄泄漏。

另外,向用户界面加载500,000条记录并不是一个好习惯,用户永远无法处理这么多信息,请通过使用分页或其他方式来更改您的练习。

我通常做的事情是限制屏幕上显示的记录数量,通常为20,但这取决于您尝试显示的数据类型。

我通常在此之后应用过滤,并将数据和修订记录计数返回给应用程序。如果用户希望能够看到所有的记录,他们可以导出到另一个应用程序(通常是Excel,这将打破,但也是XML)。

虽然没有人会读通过50万条记录。

这是一大堆数据;首先要做的是减少数据量 - 但是,由于您在标签中提到了DataGridView,因此大数据场景中存在“虚拟模式”。请参阅MSDN上的here (overview)here (howto)

一些(但不是全部)其他基于列表的控件也具有“虚拟模式”支持。