반응형

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);

반응형

+ Recent posts