datagridview 根据某个值快速定位所在行
时间: 2024-03-16 12:43:48 浏览: 163
DataGridView光标定位到特定值的行
4星 · 用户满意度95%
在 DataGridView 中,可以使用 `Rows` 集合的 `Cast<DataGridViewRow>()` 方法和 `FirstOrDefault()` 方法来快速地定位包含特定值的第一行。
下面是一个示例:
```csharp
string searchValue = "ABC123";
DataGridViewRow row = dataGridView1.Rows
.Cast<DataGridViewRow>()
.FirstOrDefault(r => r.Cells["ColumnName"].Value.ToString().Equals(searchValue));
if (row != null)
{
dataGridView1.CurrentCell = row.Cells[0];
}
```
在这个示例中,我们使用 `Cast<DataGridViewRow>()` 方法将 `Rows` 集合转换为 `IEnumerable<DataGridViewRow>`,以便我们可以使用 LINQ 扩展方法。然后我们使用 `FirstOrDefault()` 方法查找第一行,其中单元格值等于 `searchValue` 的列名为 `ColumnName`。如果找到了匹配项,则将 `CurrentCell` 设置为匹配行的第一个单元格。
请注意,如果未找到匹配项,则 `FirstOrDefault()` 方法将返回 `null`。因此,在设置 `CurrentCell` 属性之前,我们需要进行空引用检查。
阅读全文