在DataTable中查找值

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

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


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

看看你的要求,你的filterexpression将不得不有点普遍,使这项工作。

myDataTable.Select("columnName1 like '%" + value + "%'");

也许你可以通过这样的可能的列来过滤行:

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

AFAIK,没有内置的搜索所有列。 您只能对主键使用“ FindSelect需要指定的列。 你也许可以使用LINQ,但最终这只是做相同的循环。 也许只是自己展开它? 至少它会是可读的。

链接地址: http://www.djcxy.com/p/64173.html

上一篇: Find a value in DataTable

下一篇: Why does this function run faster with long numbers than short numbers?