page contents

c# 提高datagridview 刷新速度

本文讲述了c# 提高datagridview 刷新速度!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-10-GItzdy8o6358944a00a82.png

本文讲述了c# 提高datagridview 刷新速度!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:attachments-2022-10-mdeVPPhj63589407f29b4.png

两种方法,代码如下:

        void initDataGridView()

        {

            Stopwatch sw = new Stopwatch();//Stopwatch提供一组方法和属性,可用于准确地测量运行时间

            sw.Start();

            //方法一:一行一行增加到datagridview中

            for (int i = 0; i < 10000; i++)

            {

                int RowIndex = dataGridView1.Rows.Add();

                dataGridView1.Rows[RowIndex].Cells[ColumnIndex.Name].Value = (i + 1).ToString();

                dataGridView1.Rows[RowIndex].Cells[ColumnName.Name].Value = "Name" + (i + 1).ToString();

                dataGridView1.Rows[RowIndex].Cells[ColumnJobNumber.Name].Value = "JobNumber" + (i + 1).ToString();

                dataGridView1.Rows[RowIndex].Cells[ColumnSex.Name].Value = "Man";

                dataGridView1.Rows[RowIndex].Cells[ColumnRemark.Name].Value = "Remark" + (i + 1).ToString();

            }     

            sw.Stop();

            TimeSpan dts = sw.Elapsed;//获取当前实例测量得出的总运行时间

            Console.WriteLine("function1 use time:{0}", dts);

            sw.Restart();

            //方法二:先定义一个DataGridViewRow队列,然后赋值,然后一次性添加所有行到datagridview中

            DataGridViewRow[] dtRows = new DataGridViewRow[10000];

            for (int i = 0; i < 10000; i++)

            {

                dtRows[i] = new DataGridViewRow();

                dtRows[i].CreateCells(dataGridView2);

                dtRows[i].Cells[0].Value = (i + 1).ToString();

                dtRows[i].Cells[1].Value = "Name" + (i + 1).ToString();

                dtRows[i].Cells[2].Value = "JobNumber" + (i + 1).ToString();

                dtRows[i].Cells[3].Value = "Man";

                dtRows[i].Cells[4].Value = "Remark" + (i + 1).ToString();

            }

            dataGridView2.Rows.AddRange(dtRows);

            sw.Stop();

            dts = sw.Elapsed;//获取当前实例测量得出的总运行时间

            Console.WriteLine("function2 use time:{0}", dts);

        }

执行之后的耗时对比结果如下:

function1 use time:00:00:06.8457473

function2 use time:00:00:00.7253520

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

长按或扫描下方二维码,免费获取 Python公开课和大佬打包整理的几百G的学习资料,内容包含但不限于Python电子书、教程、项目接单、源码等等

attachments-2022-10-kwwbZ9WG6347756cbf77c.jpg




  • 发表于 2022-10-26 09:58
  • 阅读 ( 681 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1658 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章