首页 > 解决方案 > 在 C# 中使用 List<> 作为 DataSource 绘制缓慢的 DataGridView

问题描述

我一直在这里阅读有关数据网格视图绘制缓慢的问题,但找不到解决方案,因此我将尝试分享我的代码的清晰示例和时间测量(超过 6 秒...)。

我在 i7 CPU、16Gb RAM、2Gb GPU 上使用 DoubleBuffer 和 VirtualMode,并且绘制时间是相同的。我有一个 List<> (大约 10.000 个简单结构的元素),我将它用作 DataGridView 的数据源,这里的代码:

this.Cursor = Cursors.WaitCursor;

this.dataGridViewList = this.completeList.FindAll (
    r => r.code >= 0
);

this.myDataGridView.AutoGenerateColumns = false;
this.myDataGridView.DataSource = this.dataGridViewList;
this.myDataGridView.ClearSelection();

this.Cursor = Cursors.Default;

而且这里是时间,真的很慢,List<>不是问题,可以在毫秒内排序,我确定问题是DataGridView重新填充或绘图。

我的错误

标签: c#listperformancedatagridviewdatasource

解决方案


推荐阅读