dataGridView中值变化的问题
写一段代码,TablesB3中如果“A1”列中的值有变化,则同一行的“A2”列单元格赋值为“OK”
C# code
void TablesB3_ColumnChanged(object sender, DataColumnChangeEventArgs e)
{
if (e.Column.ColumnName == "A1")
{
e.Row["A2"] = "OK";
this.dataGridView1.UpdateCellValue(this.dataGridView1.Columns["A2"].Index, this.dataGridView1.CurrentRow.Index);
}
}
我还想在变化后dataGridView1中对应的单元格字体颜色变为红色,但没有成功:
C# code
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == dataGridView1.Columns["A2"].Index)
{
dataGridView1.Rows[e.RowIndex].Cells["A2"].Style.ForeColor = Color.Red;
}
}
请给指点一下,谢谢。
------解决方案--------------------用单元格格式化事件
CellFormating
------解决方案--------------------CellFormatting
------解决方案--------------------所有行:
dataGridView1.RowsDefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Strikeout);
dataGridView1.RowsDefaultCellStyle.ForeColor = Color.Blue;
dataGridView1.RowsDefaultCellStyle.BackColor = Color.Red;
选中行
dataGridView1.SelectedRows[0].DefaultCellStyle.Font = new Font("宋体", 9, FontStyle.Strikeout);
dataGridView1.SelectedRows[0].DefaultCellStyle.ForeColor = Color.Blue;
dataGridView1.SelectedRows[0].DefaultCellStyle.BackColor = Color.Red;
------解决方案--------------------CellFormating事件,只要符合条件,就格式化你需要的单元格