如何降低DataGridView的设置速度

问题描述 投票:0回答:1

我在dataGridView中有超过365列。我设置了每个Width,HeaderCell Value,ReadOnly模式,Header Text。另外,我有ColumnAdded方法将FillWeight设置为10。

设置这些值会使我的应用程序太慢。 dataGridView列大约需要2分钟。

有什么方法可以解决这个问题吗?

我已经尝试在Form1.cs [Design]中设置每个列,这使得程序更快。但我无法通过编程方式找到方法。

for (int j = 0; j < year; j++)
{
    for (int i = 1; i <= 365; i++)
    {
        dataGridView1.Columns[365 * j + i].Width = 45;
        dataGridView1.Columns[365 * j + i].HeaderCell.Value = i.ToString();
        dataGridView1.Columns[365 * j + i].ReadOnly = true;
        dataGridView1.Columns[355 * j + i].HeaderText = new DateTime().AddDays(Double.Parse(i.ToString())).ToString("MM/dd");
    }
}

dataGridView1.Columns[0].Frozen = true;
dataGridView1.Columns[0].Width = 55;

我希望这个程序能在不到一分钟的时间内完成。

c# winforms datagridview datagridviewcolumn
1个回答
0
投票

希望这会有所帮助,在DataGridView属性窗口中,您有一个名为AutoSizeColumnsMode的选项,我通常将其设置为“AllCells”。如果您之后由于某种原因需要它,您可以执行以下操作:

dgridSystem.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

Rows would be similar


dgridSystem.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
© www.soinside.com 2019 - 2024. All rights reserved.