我有一个 datagridview,我使用 dgv.DataSource = table 从数据源填充它。然后,我使用单元格格式化事件根据值更改 datagridview 中特定单元格的颜色。我面临的问题是,当查看某些 pc 上的数据时,一些随机单元格将显示为白色,其中没有数据。我用来设置颜色的代码如下,但它不仅仅是我设置自定义的单元格出现白色的颜色:
private void dgvRaw_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e != null)
{
DataGridView dgv = (DataGridView)sender;
if (dFlags.ContainsKey(dgv.Columns[e.ColumnIndex].Name))
{
e.CellStyle.ForeColor = Color.Black;
// If pass set green else set red
if (e.Value != null)
{
if (e.Value.ToString() == "0")
e.CellStyle.BackColor = System.Drawing.Color.Green;
else
e.CellStyle.BackColor = System.Drawing.Color.Red;
}
else
e.CellStyle.BackColor = System.Drawing.Color.Orange;
}
}
}
我真的不知道为什么会发生这种情况,或者是否是由于计算机无法处理渲染大网格视图。谢谢!