查詢dataGridView某列中是否存在某个字符串,有返回所在的行数,没有则返回null,目前我的查询方法是使用for循环if对比查询效率低,大佬们有更好的办法吗?
直接查询数据源。如果数据源是DataTable,获取DataView后设置RowFilter就能查询到数据行数据。不过题主获取行号做什么呢?如果是做过滤直接过滤下数据源然后给dgv重新绑定数据就能显示对应的数据了。
示例
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循环了。
要查询的值,如果存在,它是唯一的吗?