【发布时间】:2018-08-10 11:09:09
【问题描述】:
我正在阅读一个长文本文件,目前大约有 900.000 行(日志文件)。然后我用数据填充一个 DataTable 对象,直到那时一切都很好。但是,当将巨大的 DataTable 对象分配给 DataGridView.DataSource 时,应用程序再次响应并且 DataGridView 显示数据需要大约 10 分钟。如果我在没有 DataTable 对象的情况下直接将数据加载到 DataGridView,也会发生同样的情况。有没有更好的方法来处理如此大量的数据和 DataGridView?
【问题讨论】:
-
你能分享你当前的代码吗?如果我们能看到您是如何解决问题的,那么回答您的问题会更容易
-
winforms/wpf 网格? asp.net 网格?你考虑过分页吗?您应该考虑向用户展示大量数据可能会让他们在寻找东西时迷失方向。
-
我很幸运地解决了这个问题。我在某处读到,如果您使用 AutoSizeColums 属性,就会发生这种情况。所以我确保将其禁用。但在我的代码中,我刚刚发现“dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;”在将数据表分配为 DataSource 之前。因此,在它添加到 DataGridView 的每一行之后,它开始调整列的大小 -_- 现在完全禁用它,整个过程持续大约 10 秒。所以我认为这已经解决了:) @bradbury 我还能用什么来处理这么多数据?
-
@Henning 分页数据,允许用户对其进行排序,使用不同的搜索条件对其进行过滤,任何允许您不向用户显示一百万行进行导航的内容,直到他们找到他们想要的任何内容。它将有一个额外的发展,但用户可能会喜欢它。如果可能,您可以询问他们通常使用什么搜索条件,这将有助于他们更快地搜索。
-
@bradbury9 是的,无论如何我都要实现它:) 认为“给我看这个问题和 +- 50 行”等等。非常感谢。
标签: c# datagridview datatable