我有一个绑定到BindingSource的DataGridView。每行有三个字段:Name,StartDate,EndDate。在我的表单上的其他地方,我有一个DateTimePicker控件。
当DateTimePicker的日期在行的开始日期和结束日期之间时,我想突出显示该行。但我无法弄清楚如何做到这一点。谁能给我一个起点?
答案 0 :(得分:1)
如果您需要突出显示完整的行,那么您可能希望在ForEach循环中使用每个Row的DefaultCellStyle
属性,或者您可以使用CellFormatting
事件,如下所示:< / p>
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Error")
{
if (e.Value != null && e.Value.ToString() == "1")
{
dataGridView1.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Red;
}
}
}
答案 1 :(得分:0)
是否要突出显示符合条件的所有行?
每次DTP值更改时,您都可以逐行查看哪些行满足条件。
然后,对于这些行中的每个单元格,更改DataGridViewCell.Style但是要突出显示行。对于不满足约束的行中的每个单元格,将DataGridViewCell.Style设置为默认值。