我有一个数据表,然后我想查询表并过滤数据依赖多次。我有以下
DataTable results = new DataTable();
//fill dt from sql query
var linqResult = from myRow in results.AsEnumerable()
select myRow;
if (!string.IsNullOrEmpty(txtFilterName.Text))
{
linqResult = linqResult.Where(r => linqResult.name.ToLower.Contains(txtFilterName.Text.ToLower()));
}
我一直收到错误
'EnumerableRowCollection<DataRow>' does not contain a definition for 'name' and no extension method 'name' accepting a first argument of type 'EnumerableRowCollection<DataRow>'
Where name refers to the field name in the datatable
任何人都可以告诉我我做错了什么
答案 0 :(得分:0)
错误消息不言自明。
linqResult
是IEnumerable<DataRow>
,没有name
属性。如果您要选择name
列,可以使用Field
- DataRow
- 扩展方法:
linqResult = linqResult.Where(r => r.Field<string>("name").ToLower.Contains(txtFilterName.Text.ToLower()));