查询数据表

时间:2012-11-16 11:52:53

标签: c# linq datatable

我正在尝试查询数据表,以便根据输入字符串从数据表中检索数据,这可以在下面看到。

数据表dat

      a  || e || i || o || u || j||
----------------------------------------
value[10]|| 1 || 1 || 1 || 1 || 1  1
string[1]|| 1 || 1 || 1 || 1 || 1  1
value[10]|| 1 || 1 || 1 || 1 || 1  1
value[10]|| 1 || 1 || 1 || 1 || 1  1
value[10]|| 1 || 1 || 1 || 1 || 1  1

input string 

value


output data 
value[10]|| 1 || 1 || 1 || 1 || 1  1
value[10]|| 1 || 1 || 1 || 1 || 1  1
value[10]|| 1 || 1 || 1 || 1 || 1  1
value[10]|| 1 || 1 || 1 || 1 || 1  1

列名称可以更改但行不

需要与查询文本匹配的所有内容都是打开方括号之前的所有内容。

我想知道我怎么能做这个查询,因为我到目前为止使用的方法不起作用。

var result = excelDataTable.AsEnumerable().Where((((row,index)=> index==0))); 

AND

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

1 个答案:

答案 0 :(得分:1)

我相信你想要选择那些第一列在内容中不包含"string"的行。请尝试以下方法。

var result = excelDataTable.AsEnumerable()
                         .Where(r=> !r.Field<string>(0).StartsWith("string"));
                                    ^^^
                                   //Notice the ! - Not