2012-04-04 3 views
0

datarows.For 예를 들어 두 문자열을 검색하고 싶습니다;C# Datatable 쿼리

string1="ex" 
string2="ex2" 
row1={'ex','ex2','ex3'....}---->True 
row2={'ex3','ex1','ex2'....}---->True 
row3={'ex2','ex5','ex6'....}---->False 

각 행은 두 개의 문자열 ..이 들어 의 값이 있어야합니다,

for (counter = 0; counter < array.Count; counter++) 
     { 
      int index=0; 
      ArrayList array3 = new ArrayList(); 
      array3 = Split(array[counter].ToString()); 
      foreach (DataRow row2 in data.Rows) 
       foreach (object obje in row2.ItemArray) 
       { 
        //Proceeds 
        } 
       } 
     } 

내가 코드에 오염 처리하고 싶지 않은 무언가의 코딩 ... 인가 거기 방법을 선택하는 쉬운 방법?

답변

3
var result = data.AsEnumerable() 
      .Where(r => r.ItemArray.Contains(string1) || r.ItemArray.Contains(string2)) 
+0

Thnks! 훌륭합니다 ... –

1

봅니다 같은 것을 할 수 있습니다 :

먼저 DataView

DataView dv = new DataView(dt)dtDataTable입니다 정의합니다.

은 후

dv.RowFilter = "CONTAINS(ColName, 'ex1') AND CONTAINS(ColName, 'ex2')"RowFilter을 적용합니다.

희망이 도움이됩니다.