1

我知道这是一个愚蠢的问题,但我无法得到我想要的输出。实际上,我想动态更改 datagridview 单元格的前景色,为此我有这样的逻辑

 this.dataGridView1.Rows[0].Cells[1].Style.ForeColor = System.Drawing.Color.Red;

但这不适用于单元格(甚至单元格背景也不适用),

但是我得到了分配给单元格的前颜色名称

   string colorname = this.dataGridView1.Rows[0].Cells[1].Style.ForeColor.Name;

.我的查询中是否有任何错误,请帮助我。

4

2 回答 2

0

若要自定义具有特定值的单元格样式,请实现 DataGridView.CellFormatting 事件的处理程序。此事件的处理程序接收 DataGridViewCellFormattingEventArgs 类型的参数。此对象包含的属性可让您确定正在格式化的单元格的值及其在 DataGridView 控件中的位置。此对象还包含一个 CellStyle 属性,该属性已初始化为正在格式化的单元格的 InheritedStyle 属性的值。您可以修改单元格样式属性以指定适合单元格值和位置的样式信息。

来自MSDN

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex == 0 && e.RowIndex == 0)
        e.CellStyle.ForeColor = Color.Red;
}

结果如下:

在此处输入图像描述

在 if 语句中插入首选索引而不是零,以仅更改您需要的那些单元格的前景色。

于 2012-04-21T08:04:40.183 回答
0

检查这个

dataGridView1[col, row].Style.ForeColor = Color.Blue;

我希望这有帮助!

于 2012-04-21T08:07:41.163 回答