在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,没有内置的搜索所有列。 您只能对主键使用“ Find
。 Select
需要指定的列。 你也许可以使用LINQ,但最终这只是做相同的循环。 也许只是自己展开它? 至少它会是可读的。
上一篇: Find a value in DataTable
下一篇: Why does this function run faster with long numbers than short numbers?