我有一个5000条目的datagridview。我想根据一些值对行进行着色。下面是我如何做到这一点:它冻结了几秒钟颜色datagridview行不冻结C#
foreach (DataGridViewRow row in rows)
{
var handlingStage = (ESourceHandlingStage)row.Cells["HandlingStage"].Value;
switch (handlingStage)
{
case ESourceHandlingStage.NotStarted:
row.DefaultCellStyle.BackColor = UnhandledColor;
row.DefaultCellStyle.SelectionBackColor = Color.Blue;
break;
case ESourceHandlingStage.Given:
row.DefaultCellStyle.BackColor = GivenColor;
row.DefaultCellStyle.SelectionBackColor = Color.Blue;
break;
case ESourceHandlingStage.Taken:
row.DefaultCellStyle.BackColor = TakenColor;
row.DefaultCellStyle.SelectionBackColor = Color.Blue;
break;
case ESourceHandlingStage.Handled:
row.DefaultCellStyle.BackColor = HandledColor;
row.DefaultCellStyle.SelectionBackColor = Color.Blue;
break;
case ESourceHandlingStage.Loaded:
row.DefaultCellStyle.BackColor = LoadedColor;
row.DefaultCellStyle.SelectionBackColor = Color.Blue;
break;
default:
break;
}
}
但是,当窗体加载。我可以避免它吗?
谢谢你的帮助!