DataGridView极慢地减慢了初始加载时间

时间:2017-02-24 10:55:04

标签: c# winforms optimization datagridview

我有4行2列的DataGridView,数据非常少。

  

最初,DataGridView需要加载大约3个,有时长达5-7秒......

使用DataGridView关闭Form并重新打开它后需要花一点时间进行绘制。

如此长的初始加载有什么问题 - 有什么建议吗?

如果此信息可以帮助任何人

,我会使用EntityFramework来获取数据

如何破解DataGridView以加快加载速度?

P.S。很多帖子都有相同的问题,但是所有帖子都有大量的行和数据,这不是这里的情况

更新:原来这是实体框架或数据库引擎问题,如果我设法获得更好的性能我会发布结果

1 个答案:

答案 0 :(得分:1)

单独检索数据需要多长时间,即不通过DGV显示数据?

我强烈怀疑这是数据库引擎或您通过EF检索数据的方式的问题。我在以下示例中删除了应用程序的这些方面,它会立即显示在我的计算机上:

public partial class Form1 : Form
{
    class MyData
    {
        public string Somestring { get; set; }
        public string Anotherstring { get; set; }
        public MyData(string some, string another) {
            Somestring = some;
            Anotherstring = another;
        }
    }

    public Form1()
    {
        InitializeComponent();

        var data = new List<MyData> {
            new MyData("First Row, First Column", "First Row, Second Column"), 
            new MyData("Second Row, First Column", "Second Row, Second Column"),
            new MyData("Third Row, First Column", "Third Row, Second Column"),
            new MyData("Fourth Row, First Column", "Fourth Row, Second Column")
        };

        var source = new BindingSource();
        source.DataSource = data;
        this.dataGridView1.DataSource = source;
    }
}

(您应该已经创建了一个新的WinForms项目并将新的DataGridView添加到默认表单。)

LocalDB需要一些启动时间,这可能解释了延迟。如果您的数据不经常更改,您可以在运行之间缓存结果并在后台刷新;或者我建议使用更轻量级的数据库引擎,例如SQLite。