我有一个使用DataGrid向用户显示数据的应用程序。我使用DataTable对象在内存中存储数据。DataTable大约有70列。
我有一个非常大的数据集。我想在DataGrid中显示它,并使用过滤器和其他DataGrid数据管理功能(如排序)。但是我有一个问题:当我在DataSource对象中加载我所有的数据时,它消耗超过1 1GB的内存(MS Excel只消耗60MB)。这使得操作系统大量使用交换,当然,它也会减慢整个系统的速度。
我的问题是:有没有办法在不完全加载DataSource对象中的所有数据的情况下,在DataGrid中显示数据并使用所有高级数据管理功能?
提前谢谢你。
发布于 2011-05-20 04:38:53
由于用户永远不会一次查看一个以上的屏幕,因此您无法向他解释为什么需要千兆字节的ram来做到这一点。
数据库的设计/索引/优化应该允许数据的部分检索,至少在“最常见”的情况下是这样。
例如,您可以为10个最常用的排序标准创建一个“排序”版本的数据集。您可以只存储前1000行和后1000行。使用用户要对这些数据做什么的知识来找到更优化的数据结构等。
你可以使用像在应用Ajax中这样的技术来提供一个“生动”的印象。
https://stackoverflow.com/questions/6064486
复制相似问题