我正在为学校项目编写酒店预订经理。如果酒店的客人办理入住或退房,我需要知道。如果客人没有进入或删除数据库中写入的那一天,我需要更改行的颜色,以标记此预订需要注意。
我正在尝试找到解决方案来更改按钮单击时的单元格格式(现在,以后它将被安排任务)。我知道如何在将数据加载到dataGridView时更改单元格格式。
我一直在尝试这个
dataGridView1.Rows[(int)myReader["id"]].Style.BackColor = System.Drawing.Color.LightPink;
但是它说没有Style方法,我理解它是因为它是来自CellFormatting Class的方法。
我可以在CellFormatting类中编写代码,但是我不能在按钮点击时调用它,因为我不知道在发送者和e之间写什么(。
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
答案 0 :(得分:3)
您可以使用DefaultCellStyle
的DataGridViewRow
属性为行设置一些样式,例如:
foreach (DataGridViewRow row in dataGridView1.Rows)
{
//if some criteria
row.DefaultCellStyle.BackColor = Color.Red;
}
您也可以在某个合适的事件中更改样式,例如,您可以查看RowPrePaint
并检查行上的某些条件并更改其样式:
private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
//you can find the row this way: this.dataGridView1.Rows[e.RowIndex]
//then check some criteria on some cell values
//then you can set the style for row this way:
this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
}