C# dataGridView 查询数据问题

查詢dataGridView某列中是否存在某个字符串,有返回所在的行数,没有则返回null,目前我的查询方法是使用for循环if对比查询效率低,大佬们有更好的办法吗?

img

直接查询数据源。如果数据源是DataTable,获取DataView后设置RowFilter就能查询到数据行数据。不过题主获取行号做什么呢?如果是做过滤直接过滤下数据源然后给dgv重新绑定数据就能显示对应的数据了。
示例

img


using System;
using System.Data;
class Sample
{
    public static void Main()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("colname");
        dt.Rows.Add("aaa");
        dt.Rows.Add("bb");
        dt.Rows.Add("cc");
        DataView dv = dt.DefaultView;
        dv.RowFilter = "colname like '%bb%'";
        Console.WriteLine(dv.Count);
        Console.ReadKey();
    }
}

有帮助或启发麻烦点下【采纳该答案】,谢谢~~有其他问题可以继续交流~

要定位到行只能用for循环了。

要查询的值,如果存在,它是唯一的吗?