gpt4 book ai didi

c# - DataGridView 加载速度非常慢。如何优化 DataGridView 中的行添加?

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:04 28 4
gpt4 key购买 nike

datagridview 加载速度非常慢。我该如何优化它?

datagridview有4-5千行。
我必须根据几个参数动态生成一个 datagridview。(来自数据库的数据,列数)

我必须从数据库中的表 (id,name,contact) 垂直生成这样的 datagridview..

第 1 列

编号
姓名
联系

现在 column1 旁边可以有任意数量的空列。

目前我正在遵循这种方法。

  1. 首先添加所有空列。
  2. 然后在每个 for 循环迭代中添加三行,每个 (id,name,contact) 一行。
  3. 我正在从数据库中获取数据并将其作为 List <string[]> 传递到 GenerateRows功能。

     private void GenerateColumns(int colLen)
    {
    dataGridViewGenerate.Rows.Clear();
    dataGridViewGenerate.Columns.Clear();

    DataGridViewColumn col0 = new DataGridViewTextBoxColumn();
    col0.HeaderText = "Employee No. & Name";
    dataGridViewGenerate.Columns.Add(col0);

    for (int i = 0; i < colLen; i++)
    {
    DataGridViewColumn col = new DataGridViewTextBoxColumn
    {
    HeaderText =
    (_sTime.AddDays(i)).Day.ToString(CultureInfo.InvariantCulture) + " " +
    (_sTime.AddDays(i)).ToString("ddd")
    };

    dataGridViewGenerate.Columns.Add(col);
    }


    private void GenerateRows(List<string[]> empList)
    {
    int len = empList.Count;
    for (int a = 0; a < len; a++)
    {
    string[] arr = empList[a];
    //row 1
    var row1 = new DataGridViewRow();
    row1.Cells.Add(new DataGridViewTextBoxCell
    {
    Value = arr[0]
    });
    dataGridViewGenerate.Rows.Add(row1);

    //row 2
    var row2 = new DataGridViewRow();
    row2.Cells.Add(new DataGridViewTextBoxCell
    {
    Value = arr[1]
    });
    dataGridViewGenerate.Rows.Add(row2);

    //row3

    var row3 = new DataGridViewRow();
    row3.Cells.Add(new DataGridViewTextBoxCell
    {
    Value = arr[2]
    });
    dataGridViewGenerate.Rows.Add(row3);
    }
    }

我想在 sql 中创建一个过程,该过程将创建一个表并用数据填充它。然后只需将数据源分配给 datagridview。

最佳答案

我所做的不是将行一一添加到 DataGridView。我刚刚根据我的数据创建了一个 DataTable,并将其作为 DataSource 分配给 DataGridView

加载 DataGridView 的性能显着提高。

关于c# - DataGridView 加载速度非常慢。如何优化 DataGridView 中的行添加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17554680/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com