DataGridView为列中的某个单元格上色

本文关键字:单元格 DataGridView | 更新日期: 2023-09-27 18:29:17

我有一个数据网格视图,它有两列,我想做的是迭代这些行,并根据条件只为第二行上色,到目前为止我有这样的:

                foreach (DataGridViewRow row in dsgDataGrid.Rows)
                {
                    var stock = Convert.ToInt32(row.Cells[1].Value);
                    if (stock == 0)
                    {
                        row.DefaultCellStyle.BackColor = Color.Red;
                    }
                    if (stock >= 1 && stock <= 5)
                    {
                        row.DefaultCellStyle.BackColor = Color.LightSalmon;
                    }
                }

这会使整行变为红色(其中值为0),但有人能建议如何根据条件只影响第二列中的单元格吗?

谢谢。

DataGridView为列中的某个单元格上色

您可以使用具有所需索引的DataGridViewRow的Cells属性来设置特定单元格的BackColor,例如:

row.Cells[2].Style.BackColor = Color.Red;

您也可以使用列的名称:

row.Cells["ColumnName"].Style.BackColor = Color.Red;

您可以使用以下代码行在一行的特定单元格上设置颜色:

row.Cells[1].Style.BackColor = Color.Red;

或者,您也可以循环浏览列,并根据查找的单元格的值设置每个单元格的颜色。