在 DataGridView 中查找包含最接近匹配的 DateTime 对象的行
本文关键字:DateTime 对象 最接近 DataGridView 查找 包含 | 更新日期: 2024-11-05 02:12:26
我需要在我的DataGridView
中搜索已知列,并返回包含具有最接近匹配时间(即小于所需搜索时间)的DateTime
对象的行。
我过去曾使用 linq 在DataGridView
中搜索以查找数据。 但在这些情况下,我正在寻找完全匹配,例如:
public DataGridViewRow FindRow(DataGridView dgv, string columnID, object searchID)
{
DataGridViewRow row = dgv.Rows
.Cast<DataGridViewRow>()
.Where(r => r.Cells[columnID].Value.Equals(searchID))
.First();
return row;
}
现在我有一个精确的DateTime
对象,DataGridView
中有一列包含所有DateTime
对象。
DateAdded Data1 Data2
12:34:56.012 x y
12:34:56.345 x y
12:34:56.678 x y
在上面的例子中,如果我正在搜索一个DateTime
对象"12:34:56.4",我想返回包含"12:34:56.345"的第二行。
我还在熟悉 linq。 有什么想法吗?
有时问问题可以帮助你自己回答......
public DataGridViewRow FindRow(DataGridView dgv, DateTime searchID)
{
DataGridViewRow row = dgv.Rows
.Cast<DataGridViewRow>()
.Where(r => ((DateTime)r.Cells["DateAdded"].Value <= searchID))
.Last();
return row;
}
这成功了。