-3

下面的查询将从列中获取数据,以查看数据是否包含某个字符串。

这是在该列中找到的字符串,我想选择其中行中的所有数据。例如,在数据表中,将是一行,age[10-20]并基于此输入字符串,它应该输出字符串所在的所有行age

该代码不返回任何数据,也没有任何错误。是否可以根据索引选择列?

var result = excelDataTable.AsEnumerable().Where(data => data.Field<String>(0).StartsWith(queryString));                 

数据输入 1

Age

数据在DataTable

Age[0-8]         1           1                1
Age[9-11]        2           2                2
season[winter]   4           4                4

根据我要返回的输入

Age[0-8]         1           1                1
Age[9-11]        2           2                2
4

2 回答 2

2

您可以使用 Select 方法选择列名。

var result = importedExcelData.AsEnumerable()
              .Where(data => data.Field<String>("All Respondents")
              .Contains(first))
              .Select(c=>c.Field<String>(0)).ToList();
于 2012-11-16T10:19:52.710 回答
2

Field扩展方法也适用于列的索引:

var result = importedExcelData.AsEnumerable()
                              .Where(r=> r.Field<String>(0).Contains(first));
于 2012-11-16T10:24:44.047 回答