Datagridview基于数据的行格式

时间:2009-12-21 18:16:12

标签: c# winforms datagridview

我有一个绑定到BindingSource的DataGridView。每行有三个字段:Name,StartDate,EndDate。在我的表单上的其他地方,我有一个DateTimePicker控件。

当DateTimePicker的日期在行的开始日期和结束日期之间时,我想突出显示该行。但我无法弄清楚如何做到这一点。谁能给我一个起点?

2 个答案:

答案 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设置为默认值。