1

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

这是我的功能:

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 正常吗?

4

0 回答 0