如何将以下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 格式的字符串。
答案 0 :(得分:3)
您应该使用日期时间实例,而不是使用字符串。
DateTime dateBase = DateTime.Parse(odDate);
foreach (DataGridViewRow row in dataGridView1.Rows)
{
DateTime dateRow = DateTime.Parse(row.Cells[0].Value.ToString());
row.Visible = (dateRow >= dateBase);
}
如果网格行在基准日期之前是否可见,则不清楚它们是否可见 但是,切换条件将修复上面的代码。