DataGridView를 사용하려하니 Filter가 필요할 것 같다는 생각이 들었다.
.NET Framework 3.5에서는 Filter가 제공되지 않고 (최신 프레임워크에는 간단하게나마 필터가 제공된다는 걸 들었던것 같다.)
인터넷을 검색해보니 몇가지 방법이 제시되어있지만 만족할만한 정보를 찾을 순 없었다.
아쉽게나마 Filter를 적용 할 수 있는 방법은 아래와 같다.
- DataView.RowFilter()
: DataGirdView에 넣을 데이터를 DataTable 형식으로 갖고 있다면 DataView로 만들어 RowFilter를 이용하여 Filter를 적용하고
DataView를 DataGridView에 넣으면 된다.
DataView dv = new DataView([데이터 Table]);
dv.RowFilter = "";
[DataGridView].DataSource = dv;
또는 DataTable에서 바로 Filter를 적용 할 수 있다.
[DataTable].DefaultView.RowFilter = "";
RowFilter의 String 형식은 사이트 참조.
- 아래 사이트에서 Excel Auto Filter 형식의 Filter가 구현되어있는 오픈소스가 소개되어있는데,
내 개발환경과는 맞지 않아서 사용하지 못하였고, 다른 하나는 필요한 기능 이상으로 많은 필터가 제공되고 있어 사용하지 않음.
참조 : http://10tec.com/articles/datagridview-filter.aspx (DataGridView Filter 관련.)
http://www.csharp-examples.net/dataview-rowfilter/ (DataView RowFilter String Syntax)
'Programing > C#' 카테고리의 다른 글
C#의 XML 파일 생성, 사용 (0) | 2017.02.03 |
---|---|
C# Delegate ≒ C 함수 포인터 ?!? (0) | 2017.02.01 |
get{}set{} 사용 (0) | 2017.01.24 |
AS를 이용한 안전한 캐스팅 (0) | 2017.01.20 |
Combo Box Item에 컬럼 설정하기 (0) | 2017.01.18 |