如何优化DataGridView的性能

Jam*_*ame 2 .net c# performance datagridview winforms

我的Windows应用程序表单上有一个DataGridView控件.此DataGridView基于纯文本文件(由用户在运行时指定)填充.因此,动态计算列数和行数.现在每件事情都按预期工作正常唯一的问题是我的DataGridView需要花费大量时间来加载数据,有没有办法优化DataGridView的性能?

提示:通常,datagridview包含1024列和almos 100行.

以下是填充我的DataGridView的代码

dataGridView1.ColumnCount = nColumnCount;

for (int i = 0; i < CurrPageLines.Length; i++)
{
    string sCurrLinecontents = CurrPageLines[i];
    int n = dataGridView1.Rows.Add();
    for (int j = 0; j < /*nColumnCount*/sCurrLinecontents.Length; j++)
    {
        dataGridView1.Rows[n].Cells[j].Value = sCurrLinecontents[j];
    }
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*Wue 5

在MSDN上有一篇关于如何使用datagridview的虚拟模式的文章.它甚至还带有一个很好的演练示例.虽然它似乎更多地针对大量行而不是大量列,但它可能仍然有用.

更新:如果您只是在加载数据时遇到延迟,您可以通过创建一个DataTable或一个BindingList文本文件来改进,然后将其绑定到视图.