2012-04-04 5 views
0

데이터 뷰에서 여러 행을 필터링해야합니다. 여기에서는 rowfilter를 사용했습니다. 하지만 여러 행을 필터링하고 싶습니다. 어떤 명령을 사용할 수 있습니까? 내 코드 :데이터 뷰에서 여러 행을 필터링하는 방법

foreach (string s1 in list) 
{ 
    if (s1 != string.Empty) 
    { 
     dvData.RowFilter = "(code like '" + searchText + "*') AND (code <> '" + s1 + "')"; 
    } 
} 

문제는 하나의 값만 소요되고 루프 중에 덮어 쓰게된다는 것입니다. 당신이 RowFiltercode 필드에 대한 모든 코드를 추가하려면

답변

0

당신이 시도 할 수 있습니다 :

StringBuilder sb = new StringBuilder(); 

foreach(string s in list){ 
    if (s != string.Empty) 
     sb.Append(string.Format(" AND (code <> '{0}')", s)); 
} 

string rowFilter = string.Format("(code like '{0}*')", searchText) + sb.ToString(); 

dvData.RowFilter = rowFilter; 
+0

덕분에 그 작업 벌금을. 명령에서 'in'을 사용하는 대신. 여기에 'and'명령이 추가되었습니다. – kk1076

관련 문제