如何在c#中更改单元格颜色?

如何在c#中更改单元格颜色?,c#,winforms,datatable,C#,Winforms,Datatable,我试图根据存在和不存在的值更改数据表中的单元格颜色。我使用按钮填充数据库中的数据表, 我有53个专栏(第1周至第53周+姓名)。您可以在那里处理并做出决定: private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if(e.ColumnIndex == 0 && YourCondition)e.CellStyle.BackColor

我试图根据存在和不存在的值更改数据表中的单元格颜色。我使用按钮填充数据库中的数据表, 我有53个专栏(第1周至第53周+姓名)。

您可以在那里处理并做出决定:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if(e.ColumnIndex == 0 && YourCondition)e.CellStyle.BackColor = System.Drawing.Color.Red;
}

DefaultCellStyle?你试过什么?当然,谷歌会在数据网格的样式或您正在使用的任何控件方面找到很多答案。请指定控件类型的确切类型(DataGridView,DataGrid,可能还有另一个控件)@ChrisDunaway是的,我几乎尝试了谷歌的所有顶级答案,但它没有回答我的问题。@YasharAliabasi我使用了DataGridView,我没有;我不知道如何在这种问题中使用数组,虽然数组是我这里的最佳解决方案。它对我所有的单元格都有效吗?我怀疑(虽然我还没有尝试过)所有的列或行都将被涂成绿色或红色。而不仅仅是特定的细胞。例如在我的第一周中,我的名字是| week1 | week2 | myname | present |缺席| |值为“present”的单元格将被涂成绿色,值为“缺席”的第二周将被涂成红色。是的,您可以通过
e.ColumnIndex
检查您的单元格,正如我添加到
if
条件中,您能在整个过程中帮助我吗?。因为我没有关于这是如何工作的任何信息。我的教授只告诉我们如何填充datagrid,就这样。我不知道我会把“yourcondition”放在那个“yourcondition”中,数据库中存在和不存在的类型是什么?我使用了这个代码,我只需要重复50次
  try
                {
                    if (e.Value != null)
                    {
                        // Check for the string "pink" in the cell.
                        string stringValue = (string)e.Value;
                        stringValue = stringValue.ToUpper();
                        if ((stringValue.IndexOf("PRESENT") > -1))
                        {
                            e.CellStyle.BackColor = Color.Green;
                        }
                        else
                        {
                            e.CellStyle.BackColor = Color.Red;
                        }
                    }
                }
                catch (Exception ex)
                {
                    e.CellStyle.BackColor = Color.Red;
                }

            }