在DataTable中查找值

Dha*_*ana 31 c# datatable

有没有办法在C#中的DataTable中找到一个值而不进行逐行操作?

该值可以是([columnName] .value的子字符串,以逗号分隔)数据表中的单元格的一部分,并且该值可以出现在该行的任何一列中.

And*_*ose 55

DataTable或DataSet对象将具有Select方法,该方法将根据作为参数传入的查询返回DataRow结果数组.

看看你的要求,你的filterexpression必须有点普遍才能使这项工作.

myDataTable.Select("columnName1 like '%" + value + "%'");
Run Code Online (Sandbox Code Playgroud)


Can*_*var 14

也许您可以按可能的列过滤行,如下所示:

DataRow[] filteredRows = 
  datatable.Select(string.Format("{0} LIKE '%{1}%'", columnName, value));
Run Code Online (Sandbox Code Playgroud)

  • 如果你想要准确的值:DataRow [] filteredRow = datatable.Select("ColumnName ='value'"); (3认同)

Mar*_*ell 8

AFAIK,没有内置搜索所有列的内容.您只能使用Find主键.Select需要指定的列.你也许可以使用LINQ,但最终这只是做同样的循环.也许只是自己展开?它至少可以读取.