有没有办法在C#中的DataTable中找到一个值而不进行逐行操作?
该值可以是([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,但最终这只是做同样的循环.也许只是自己展开?它至少可以读取.