C# 如果在特定日期之前,则选择行

C# 如果在特定日期之前,则选择行,c#,date,C#,Date,如何更改以下foreach语句,使其仅在特定日期之前或当天拾取行(odDate)。目前,他们只会在匹配的情况下选择日期 foreach (DataGridViewRow row in dataGridView1.Rows) { if (!string.Equals(row.Cells[0].Value.ToString(), odDate, StringComparison.OrdinalIgnoreCase)) { row.Visible = false;

如何更改以下foreach语句,使其仅在特定日期之前或当天拾取行(
odDate
)。目前,他们只会在匹配的情况下选择日期

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    if (!string.Equals(row.Cells[0].Value.ToString(), odDate, StringComparison.OrdinalIgnoreCase))
    {
       row.Visible = false;
    }
    else
    {
       row.Visible = true;
    }
}

请注意,
row.Cells[0].Value.ToString()
odDate
都是格式为dd/MM/yyyy HH:MM:ss

的字符串,您不应该使用字符串,而应该使用日期时间实例

DateTime dateBase = DateTime.Parse(odDate);
foreach (DataGridViewRow row in dataGridView1.Rows)
{
    DateTime dateRow = DateTime.Parse(row.Cells[0].Value.ToString());
    row.Visible = (dateRow >= dateBase);
}
不清楚是否希望网格行在基准日期之前可见。

但是,切换条件将修复上面的代码。

能否将填充数据集的查询更改为筛选不需要的记录?