从一个列的数据表格中获取数据

时间:2012-11-16 10:18:23

标签: c# linq datatable

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

这是在该列中找到的字符串我想选择其中的所有数据行。例如,在数据表中,将是一行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

2 个答案:

答案 0 :(得分:2)

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

var result = importedExcelData.AsEnumerable()
              .Where(data => data.Field<String>("All Respondents")
              .Contains(first))
              .Select(c=>c.Field<String>(0)).ToList();

答案 1 :(得分:2)

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

var result = importedExcelData.AsEnumerable()
                              .Where(r=> r.Field<String>(0).Contains(first));