根据列名称更改列中行中文本的所有颜色(datagrid)

时间:2013-12-06 11:36:44

标签: c# winforms datagridview

我想根据C#中的列名更改列中行的所有文本颜色。我该如何做到这一点?

到目前为止,我已经尝试了以下内容:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if (this.dataGridView1.Columns[e.ColumnIndex].Name == "DatePaid")
            {
                e.CellStyle.ForeColor = Color.Blue;
            }
        }

程序构建 - 但它根本不起作用

2 个答案:

答案 0 :(得分:2)

如果您想更改特定列forecolor,请使用此

dataGridView1.Columns["DatePaid"].DefaultCellStyle.ForeColor = Color.Blue;

答案 1 :(得分:1)

您可以使用switch

        switch (dataGridView1.Columns[e.ColumnIndex].Name)
        {
            case "DatePaid":
                dataGridView1.Columns[e.ColumnIndex].DefaultCellStyle.ForeColor = Color.Blue;
                break;
            case "Something":
                dataGridView1.Columns[e.ColumnIndex].DefaultCellStyle.ForeColor = Color.Red;
                break;
        }