如何降低DataGridView设置速度



我在datagridview中有超过365列。然后我设置了它们的每个宽度,头号值,可读模式,标题文本。另外,我还有列的方法将fillaweight设置为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;

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

希望这会有所帮助,在" datagridview属性"窗口中,您有一个名为autosizezecolumnsmode的选项,我通常将其设置为" Allcells"。如果您之后需要进行某种原因,则可以做类似:

的事情。

dgridSystem.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

Rows would be similar

dgridSystem.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

最新更新