DataGridView-为每行分配DefaultCellStyle运行非常慢

时间:2019-07-19 09:40:02

标签: c# winforms datagridview datagridviewcellstyle

我有一个DataGridView绑定到具有5000行,36列的DataTable上,我想根据其内容更改每行的单元格样式,但是我制作的函数要花很长时间才能运行(100行每5分钟)。

这是我的功能:

private void formatRows()
{
      DataGridViewCellStyle GroupCellStyle = new DataGridViewCellStyle();
      DataGridViewCellStyle SubTotCellStyle = new DataGridViewCellStyle();

      GroupCellStyle.Font = new Font(dataGridView1.Font, FontStyle.Bold);
      GroupCellStyle.BackColor = Color.FromArgb(235, 235, 235);
      SubTotCellStyle.BackColor = Color.FromArgb(155, 155, 255);

      dataGridView1.SuspendLayout();
      for (int r = 0; r < dbInterface.ds.Tables["articles"].Rows.Count; r++)
      {
            if (dbInterface.ds.Tables["articles"].Rows[r].Field<short>("FLGGroup") == 2)
                  dataGridView1.Rows[r].DefaultCellStyle = GroupCellStyle;

            else if (dbInterface.ds.Tables["articles"].Rows[r].Field<short>("FLGGroup") == 0)
                  dataGridView1.Rows[r].DefaultCellStyle = SubTotCellStyle;
      }
      dataGridView1.ResumeLayout();
}

我不知道为什么要花这么长时间。 DataGridView正常吗?

0 个答案:

没有答案