2010-01-16 10 views
1

날짜를 기준으로 필터링하는 데 사용하려고하는 DefaultView (인스턴스 이름 : TimeTableView)의 DataTable (인스턴스 이름 : TimeTable)이 있습니다. clock_in 열은 ISO8601 형식의 문자열을 포함합니다. 2009-10-08T08 : 22 : 02Z와 2009-10-08T20 : 22 : 02Z 사이에이 DataTable/DefaultView의 모든 행을 선택하고 싶습니다.DataView.RowFilter an ISO8601

이 기준에서 필터링해야하는 항목은 무엇입니까? 나는 시도했다 :

TimeTableView = TimeTable.DefaultView;  
TimeTableView.RowFilter = "clock_in >= #2009-10-08T08:22:02Z# and #2009-10-08T20:22:02Z#"; 

이것은 나를 위해 작동하지 않는다. 잘못된 개체에서 작동합니까? 아니면 필터 구문이 잘못 되었습니까?

답변

1

결국 나는 그것을 직접 풀었다.

TimeTableView = TimeTable.DefaultView; 
TimeTableView.RowFilter = String.Format("CONVERT(clock_in, System.DateTime) = #{0}#", dayToFilter.ToShortDateString()); 

이 (A와 B는 날짜 시간 개체) 날짜 범위를 얻으려면 :

TimeTableView = TimeTable.DefaultView; 
TimeTableView.RowFilter = String.Format("CONVERT(clock_in, System.DateTime) >= #{0}# AND CONVERT(clock_in, System.DateTime) <= #{1}#", A.ToShortDateString(), B.ToShortDateString()); 

은 특정 날짜를 얻으려면
관련 문제