C1Component의 DataGrid에서 필터를 적용하고자 할 경우 아래와 같이 적용하면 된다.
//필터 삭제(초기화)
FilterExample.FilterBy(new DataGridColumnValue<DataGridFilterState>[0]);
//첫 번째 필터링
string exam1 = cboExam1.SelectedValue.ToString();
List<DataGridFilterInfo> filterInfoList1 = new List<DataGridFilterInfo>();
DataGridFilterState filterState1 = new DataGridFilterState();
filterInfoList1.Add(new DataGridFilterInfo() { FilterOperation = DataGridFilterOperation.Equal, FilterType = DataGridFilterType.Text, Value = exam1 });
filterState1.FilterInfo = filterInfoList1;
string exam2 = cboExam2.SelectedValue.ToString();
//두 번째 필터링 (AND)
List<DataGridFilterInfo> filterInfoList2 = new List<DataGridFilterInfo>();
DataGridFilterState filterState2 = new DataGridFilterState();
filterInfoList2.Add(new DataGridFilterInfo() { FilterOperation = DataGridFilterOperation.Equal, FilterCombination = DataGridFilterCombination.And,
FilterType = DataGridFilterType.Text, Value = exam2 });
filterState2.FilterInfo = filterInfoList2;
//2개의 필터를 KeyValuePair로 생성
KeyValuePair<C1.WPF.DataGrid.DataGridColumn, DataGridFilterState>[] filters =
new KeyValuePair<C1.WPF.DataGrid.DataGridColumn, DataGridFilterState>[2];
filters[0] = new KeyValuePair<C1.WPF.DataGrid.DataGridColumn, DataGridFilterState>(FilterExample.Columns["EXAM_01"], filterState1);
filters[1] = new KeyValuePair<C1.WPF.DataGrid.DataGridColumn, DataGridFilterState>(FilterExample.Columns["EXAM_02"], filterState2);
//필터 적용
FilterExample.FilterBy(filters);
'C# 개발 > WPF' 카테고리의 다른 글
WPF에서 리소스에 등록된 이미지 가져오기 (0) | 2021.08.23 |
---|---|
WPF에서 UserControl 마우스로 이동 처리 방법 (0) | 2021.06.29 |
Observable Collection에서 Item 찾기 (0) | 2019.01.10 |