C# 在DataGridView中查找包含最匹配的DateTime对象的行
我需要在我的C# 在DataGridView中查找包含最匹配的DateTime对象的行,c#,.net,winforms,C#,.net,Winforms,我需要在我的DataGridView中搜索一个已知列,并返回包含DateTime对象的行,该对象具有最接近的匹配时间(小于所需的搜索时间) 我过去曾使用linq在DataGridView中搜索数据。但在这些情况下,我一直在寻找一个精确的匹配,如: public DataGridViewRow FindRow(DataGridView dgv, string columnID, object searchID) { DataGridViewRow row = dgv.Row
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;
}
在上述情况下,如果我正在搜索“12:34:56.4”的DateTime
对象,我想返回包含“12:34:56.345”的第二行
我还在熟悉林克。有什么想法吗?有时候问问题可以帮助你自己回答
public DataGridViewRow FindRow(DataGridView dgv, DateTime searchID)
{
DataGridViewRow row = dgv.Rows
.Cast<DataGridViewRow>()
.Where(r => ((DateTime)r.Cells["DateAdded"].Value <= searchID))
.Last();
return row;
}
公共DataGridViewRow FindRow(DataGridView dgv,DateTime searchID)
{
DataGridViewRow行=dgv.Rows
.Cast()
.Where(r=>((DateTime)r.Cells[“DateAdd”]”。您是否保证该集合返回的值。何处总是按DateAdd顺序?如果不是,则最后一个元素可能不是您想要的元素。可能确实需要添加order by。非常好的建议!谢谢。
public DataGridViewRow FindRow(DataGridView dgv, DateTime searchID)
{
DataGridViewRow row = dgv.Rows
.Cast<DataGridViewRow>()
.Where(r => ((DateTime)r.Cells["DateAdded"].Value <= searchID))
.Last();
return row;
}