본문 바로가기
Programing/C#

DataGridView에 Filter 생성하기

by june._.note 2017. 1. 31.

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