! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

FlexGrid를 사용하여 WPF DataGrid를 필터링하는 방법에 대한 가이드 > 블로그 & Tips

본문 바로가기

ComponentOne

블로그 & Tips

FlexGrid를 사용하여 WPF DataGrid를 필터링하는 방법에 대한 가이드

페이지 정보

작성자 GrapeCity 작성일 2021-10-21 13:59 조회 3,081회 댓글 0건

본문

유연한 WPF DataGrid인 FlexGrid는 데이터를 필터링하는 다양한 방법을 지원합니다. 이 블로그에서는 응용 프로그램에서 구현할 기능을 결정하는 데 도움이 되도록 지원되는 모든 필터링 기능을 살펴보겠습니다.



열 필터 – 열 헤더에서 검색 조건 설정


FlexGrid의 데이터를 필터링하는 가장 기본적인 방법 중 하나는 열 필터입니다. C1FlexGridFilter 확장 클래스는 C1FlexGrid를 확장하여 Excel 스타일의 열 필터링을 제공합니다. 열 필터링이 활성화된 후 열 헤더를 마우스로 가리키면 열에 적용된 필터를 편집하는 데 사용할 수 있는 드롭다운 버튼이 표시됩니다.


필터는 다음 두 가지 모드를 지원합니다.

  • 값 모드: 열에 있는 모든 값을 포함하는 목록이 편집기에 표시됩니다. 사용자는 목록을 사용하여 표시할 값을 하나 이상 선택할 수 있습니다.

  • 조건 모드: 연산자와 비교 매개 변수(예: '보다 큼' 및 '2.5')로 구성된 두 가지 조건이 편집기에 표시됩니다. 조건은 'and' 또는 'or' 연산자로 결합됩니다.


이 유형의 필터는 데이터 입력 변형 옵션이 거의 없는 열에 적용할 때 특히 유용합니다. 예를 들어 FlexGrid에 이름, 색, 가격을 포함하는 제품 목록이 표시되는 경우 열을 선택하여 “가격” 열에서 설정된 금액보다 높은 가격의 항목만 표시하는 열 필터를 적용할 수 있습니다. “색” 열을 기준으로 특정 색의 제품만 표시하는 열 필터도 설정할 수 있습니다. 디자이너를 통해 또는 프로그래밍 방식으로 필터를 적용할 수 있습니다.


  • 장점: 활용, 구현, 이해가 용이합니다.

  • 단점: 개별 열 데이터를 기준으로 전체 데이터 집합 필터링만 가능합니다. “이름” 열과 같이 많은 고유 항목을 포함하는 열에 사용할 때는 유용하지 않습니다.


샘플 링크는 여기서 확인할 수 있습니다.

다운로드 링크는 여기서 확인할 수 있습니다.


FlexGrid를 사용하여 WPF DataGrid를 필터링하는 방법에 대한 가이드



행 필터 – 개별 열에서 키워드 검색


행 필터를 사용하면 원하는 형식의 조건을 기준으로 다양한 열의 필터링을 동시에 구현할 수 있습니다. 이렇게 하려면 데이터 집합 맨 위에 그 아래 항목의 필터링에 사용되는 추가 행이 있어야 합니다. 이 유형의 필터에서는 두 개 이상의 개별 열에 필터 조건을 동시에 설정하여 데이터 항목을 필터링할 수 있습니다. 예를 들어 두 가지 접두사로 두 개의 개별 열을 필터링하여 특정 데이터 집합을 쉽게 필터링할 수 있습니다.


  • 장점: 위의 텍스트 상자를 사용하여 각 열에 필터를 적용할 수 있습니다. FilterEditor와 함께 사용하여 더 복잡한 필터를 적용할 수 있습니다. 사용하기 쉽도록 기본 제공되는 public 필드, 메서드, 속성을 포함하는 C1FlexGridFilterRow 클래스가 연결되어 있습니다.

  • 단점: 다른 필터 클래스와 함께 사용하지 않을 경우 복잡한 필터링 기능이 제한될 수 있습니다.


샘플 링크는 여기서 확인할 수 있습니다.

* 참고: 이 샘플의 솔루션 파일은 이 링크에서 별도로 확인할 수 있습니다.


다운로드 링크는 여기서 확인할 수 있습니다.

FlexGrid를 사용하여 WPF DataGrid를 필터링하는 방법에 대한 가이드



전체 텍스트 필터 – 모든 열에서 키워드 검색


전체 텍스트 필터에서는 사용자가 검색 중인 항목의 텍스트를 입력하여 특정 데이터 항목을 쉽게 찾을 수 있습니다. 그런 다음, 필터와 연결된 텍스트 상자에 입력된 용어를 전체 데이터 집합에서 검색합니다. C1FullTextFilter 클래스 속성을 사용하여 전체 텍스트 필터를 필요에 따라 더 엄격하게 설정할 수 있습니다.


  • 장점: C1FullTextFilter 클래스를 사용하여 검색 결과를 반환하기 위해 사용자 입력을 기준으로 그리드의 데이터 소스를 필터링합니다. 정확한 검색에 유용하고 필터를 더 엄격하게 만들 수 있는 “대/소문자 구분” 같은 속성이 있습니다. 정규식과 와일드카드 문자 같은 기타 필터 조작을 사용하여 사용자 요구 사항에 따라 매우 구체적인 사용자 정의 검색 필터를 만들 수 있습니다.

  • 단점: 구현 중에 더 광범위한 코드를 작성하지 않고 OR 연산자 관계로 두 가지 필터를 적용할 수 없습니다. 필터는 기본적으로 FlexGrid의 데이터 소스에 적용됩니다.


샘플 링크는 여기서 확인할 수 있습니다.

다운로드 링크는 여기서 확인할 수 있습니다.


FlexGrid를 사용하여 WPF DataGrid를 필터링하는 방법에 대한 가이드


Datafilter – 함께 제공되는 사이드 메뉴를 통해 필터 선택


Datafilter는 함께 제공되는 사이드 패널을 통해 그리드에 적용할 수 있는 미리 설정된 필터를 만들어 데이터 그리드를 빠르게 정렬하는 유용한 방법입니다. 사이드 패널 내에서 그리드에 적용할 필터 속성을 선택하기만 하면 됩니다. 한 번에 여러 필터를 적용할 수 있으며, 다시 클릭하거나 값을 제거하여 필터 선택을 쉽게 취소할 수 있습니다. 이 유형의 필터는 최종 사용자가 런타임에 필터링해야 하는 대규모 데이터 집합에 유용하며, 함께 제공되는 필터 UI를 통해 프로세스를 더 쉽게 수행할 수 있습니다.


  • 장점: FlexGrid에 연결된 별도의 컨트롤 역할을 하며 사용자가 데이터에 적용할 필터를 클릭할 수 있도록 측면에 표시됩니다. 최종 사용자가 대규모 데이터 집합을 필터링할 수 있는 직관적인 방법입니다.

  • 단점: 다른 필터 유형과 함께 사용하지 않을 경우 키워드 검색 같은 구체적인 사용자 정의 항목 필터링을 허용하지 않습니다. 필터의 UI와 로직을 설정하는 데 시간과 노력이 필요합니다.


샘플 링크는 여기서 확인할 수 있습니다.

다운로드 링크는 여기서 확인할 수 있습니다.


FlexGrid를 사용하여 WPF DataGrid를 필터링하는 방법에 대한 가이드



FilterEditor – AND/OR 로직 필터 


FilterEditor 클래스에서는 사용자가 AND/OR 문으로 조건 연산자 로직을 적용하여 데이터 집합에 적용할 사용자 고유의 필터를 만들 수 있습니다. 이 클래스는 사용자가 조건식을 기준으로 필터를 설정할 수 있는 Microsoft CRM 필터 식과 비슷합니다. 이 유형의 필터는 두 개 이상의 조건 요구 사항 집합으로 데이터 집합을 필터링할 때 유용합니다. 최종 사용자가 조건 연산자를 통해 각 필터 조건 집합을 연결할 수 있기 때문입니다. FilterEditor 컨트롤은 필터를 트리 형태로 나타냅니다. 트리 노드는 논리 조건 "AND"와 "OR"이거나 데이터 소스 속성 필터일 수 있습니다.


  • 장점: 필터 집합에 조건 연산자 로직 사용을 허용하며 바인딩되지 않은 그리드에서 사용할 수 있습니다.

  • 단점: 구현하기가 더 어렵고, 최상의 결과를 얻으려면 개체 컬렉션에서 사용해야 합니다.


샘플 링크는 여기서 확인할 수 있습니다.

다운로드 링크는 여기서 확인할 수 있습니다.


FlexGrid를 사용하여 WPF DataGrid를 필터링하는 방법에 대한 가이드



사용자 정의 필터링 – 사용자 정의 아이콘 및 필터 디자인 추가


사용자 정의 필터링은 이름이 의미하는 것처럼 사용자가 원하는 셀 속성을 기준으로 고유한 필터링 옵션을 구체적으로 처리할 수 있는 방법입니다. C1DataFilter 클래스를 사용하여 사용자 정의 필터링을 구현합니다. 사용자 정의 필터를 사용할 경우의 명확한 장점은 최종 사용자가 이해하고 조작하기에 가장 쉬운 방식으로 특정 필터를 자유롭게 디자인할 수 있다는 것입니다. 그러나 이 유형의 필터로 필터링을 처리하려면 더 많은 수동 백그라운드 코드가 필요합니다. 사용자 정의 필터링의 몇 가지 예로 선택한 위치를 기준으로 필터링하는 대화형 맵이나 선택한 색을 기준으로 필터링하는 컬러 아이콘이 있습니다. 이 유형의 필터는 필터 디자인 프레젠테이션이 중요한 경우에 특히 유용합니다.


  • 장점: 사용자 정의 성능이 뛰어나고, 개발자가 응용 프로그램을 어떻게 디자인하든 개방적이며, C1DataFilter 클래스를 통해 쉽게 구현할 수 있습니다.

  • 단점: 필터 UI를 설정하려면 색, 아이콘, 맵, 디자인 등의 더 많은 백그라운드 코드가 필요합니다.


샘플 링크는 여기서 확인할 수 있습니다.

다운로드 링크는 여기서 확인할 수 있습니다.


FlexGrid를 사용하여 WPF DataGrid를 필터링하는 방법에 대한 가이드





지금 바로 ComponentOne을 다운로드하여 직접 테스트해보세요!

 
  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.