我知道这是一个愚蠢的问题,但我无法得到我想要的输出。实际上我想要动态更改datagridview单元格的颜色,因为我有这样的逻辑
this.dataGridView1.Rows[0].Cells[1].Style.ForeColor = System.Drawing.Color.Red;
但这不适用于细胞(甚至细胞背景也未应用),
但我得到的是我分配给单元格的前面颜色名称
string colorname = this.dataGridView1.Rows[0].Cells[1].Style.ForeColor.Name;
。我的查询中有任何错误请帮助我。
答案 0 :(得分: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语句中插入首选索引而不是零来仅更改您需要的那些单元格的ForeColor。
答案 1 :(得分:0)
检查
dataGridView1[col, row].Style.ForeColor = Color.Blue;
我希望这有帮助!