2014-01-20 55 views
1

我有類似的需求,它在下面提到的鏈接中進行了小小的調整。Linq:包含多個動態輸入字符串值的CONTAINS

LINQ : How to check CONTAINS with multiple dynamic input values

我通過幾個環節走了,但一直沒找到解決辦法。請指導。

我收到的格式爲selected = "Consumer,Business,Others",格式爲string。我在下面的查詢中使用它們:

var q = from a in dt.AsEnumerable() 
       where a.Field<string>("Period") == "Jan 2014" && a.Field<string>("Division").Contains(selected) 
       select a; 

     GridView1.DataSource = q.CopyToDataTable(); 
     GridView1.DataBind(); 

雖然數據庫有數據,q返回null值。

回答

1

試試這個:

string[] selectedList = selected.Split(','); 
var q = from a in dt.AsEnumerable() 
     where a.Field<string>("Period") == "Jan 2014" && 
     selectedList.Contains(a.Field<string>("Division")) 
     select a; 

GridView1.DataSource = q.CopyToDataTable(); 
GridView1.DataBind();  
+0

任何建議,爲什麼下面的代碼不爲我工作嗎?如果selectedAll包含selectedAll [0] =「」 'string [] selectedAll = All.Split(',');' '&& selectedAll.Contains(a.Field (「All Impacted Hours」)。ToString ))' – Interstellar

+0

你確定列名包含空格('所有受影響的小時數)? – ekad

+0

我使用來處理NULL值 – Interstellar

相關問題