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

C1FlexGrid에서 FlexGridFilter와 CellFactory를 함께 사용할때 필터링 기능이 되지 않는 문제점 > Q&A | 토론

본문 바로가기

ComponentOne

Q&A | 토론

WPF C1FlexGrid에서 FlexGridFilter와 CellFactory를 함께 사용할때 필터링 기능이 되지 않는 문제점

페이지 정보

작성자 소망 작성일 2021-05-28 14:54 조회 2,070회 댓글 0건
제품 버전 : ComponentOne 2017 V2
컨트롤 이름 : C1FlexGrid

본문

첨부파일

<c1:C1FlexGrid Grid.Column="0" x:Name="flex1" HorizontalAlignment="Stretch" AutoGenerateColumns="False" AllowMerging="All"

   Style="{StaticResource excelBlue}"

   ItemsSource="{Binding Exams}">


<c1:C1FlexGridFilterService.FlexGridFilter>

<c1:C1FlexGridFilter FilterApplied="C1FlexGridFilter_FilterApplied" />

</c1:C1FlexGridFilterService.FlexGridFilter>

<c1:C1FlexGrid.Columns>

<c1:Column HeaderHorizontalAlignment="Center" Width="Auto" Header="연번" Binding="{Binding No}"/>

<c1:Column HeaderHorizontalAlignment="Center" Width="Auto" Header="이름" Binding="{Binding User_name}"/>


<c1:Column HeaderHorizontalAlignment="Center" Width="Auto" Header="A0" Binding="{Binding Answer[0]}"/>

<c1:Column HeaderHorizontalAlignment="Center" Width="Auto" Header="P0" Binding="{Binding Point[0], Converter={StaticResource OXConverter}}"/>


<c1:Column HeaderHorizontalAlignment="Center" Width="Auto" Header="A1" Binding="{Binding Answer[1]}"/>

<c1:Column HeaderHorizontalAlignment="Center" Width="Auto" Header="P1" Binding="{Binding Point[1], Converter={StaticResource OXConverter}}"/>


<c1:Column HeaderHorizontalAlignment="Center" Width="Auto" Header="A2" Binding="{Binding Answer[2]}"/>

<c1:Column HeaderHorizontalAlignment="Center" Width="Auto" Header="P2" Binding="{Binding Point[2], Converter={StaticResource OXConverter}}"/>


<c1:Column HeaderHorizontalAlignment="Center" Width="Auto" Header="A3" Binding="{Binding Answer[3]}"/>

<c1:Column HeaderHorizontalAlignment="Center" Width="Auto" Header="P3" Binding="{Binding Point[3], Converter={StaticResource OXConverter}}"/>

</c1:C1FlexGrid.Columns>

</c1:C1FlexGrid>


이렇게 디자인해서 실행하면 정상적으로 

각 헤더 컬럼에서 필터링 기능을 사용할 수 있게 됩니다.


그런데

behindcode에 아래 코드를 추가하면

flex1.CellFactory = new Exam2CellFactory();


각 헤더를 클릭했을 때 필터링 기능이 안되고 정렬 기능으로 전환됩니다.

필터링도 되고 셀펙토리도 적용되도록 하려면 어떻게 해야 될런지요? 


첨부된 캡쳐화면은 각 상황별 실행결과 입니다.

캡쳐이미지 01 : 헤더를 클릭하면 필터링이 됨

캡쳐이미지 02 : 셀펙토리를 적용하면 정렬만 됨




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

댓글목록

등록된 댓글이 없습니다.

1 답변

WPF Re: C1FlexGrid에서 FlexGridFilter와 CellFactory를 함께 사용할때 필터링 기능이 되지 않는 문제…

추천1 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 GCK폴 작성일 2021-06-02 13:18 댓글 0건

본문

첨부파일

안녕하세요 그레이프시티입니다.


먼저 자세한 설명 감사드립니다,


말씀하신데로 사용자 지정 셀 팩토리가 FlexGrid에 할당 / 등록되면 기존의 모든 필터 셀 팩토리가 지워집니다. 

그래서 다음과 같이 Xaml 내 FlexGridFilter 앞에 사용자 지정 CellFactory를 할당 하는 방법으로 해결할수 있습니다.


<c1:C1FlexGrid.CellFactory>

     <local:CustomCellFactory/>

</c1:C1FlexGrid.CellFactory>

<c1:C1FlexGridFilterService.FlexGridFilter>

     <c1:C1FlexGridFilter></c1:C1FlexGridFilter>

</c1:C1FlexGridFilterService.FlexGridFilter>


또는 CodeBehind로 해결 하시고자 한다면 아래와 같이 하시면 됩니다.


flexGrid.CellFactory = new CustomCellFactory();
var filter = new C1FlexGridFilter { Owner = flexGrid };

간단한 샘플을 첨부드리니 참고해 주시기 바랍니다.

감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

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