728x90
반응형
3, 2, 1, 11, 5, 6, 7, 8, 9, 10, 4, 12
이렇게 숫자가 있다고 치자. 이것을 DevExpress에서 정렬하라고 하면 다음처럼 정렬된다.
1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9
이는 숫자가 아닌 문자로 정렬되기 때문이다. 열의 속성을 숫자형태로 하면 자동으로 숫자로 정렬되는 뭔가가 있으면 좋겠으나 DevExpress에서는 CustomColumnSort()라는 메서드를 제공해준다.
정렬하고자 하는 컬럼의 속성 중 SortMode를 Custom으로 수정한다. 컬럼을 그리드에 추가해주는 로직 다음에 추가해주면 된다.
treeDICOM.Columns["col1"].SortMode = DevExpress.XtraGrid.ColumnSortMode.Custom;
treeDICOM.Columns["col2"].SortMode = DevExpress.XtraGrid.ColumnSortMode.Custom;
그리드의 CusCustomColumnSort() 이벤트를 추가하자.
필자는 TreeList를 이용 해보았다.
private void tree_CustomColumnSort(object sender, CustomColumnSortEventArgs e)
{
switch (e.Column.FieldName)
{
case "col1":
case "col2":
try
{
int value1 = Convert.ToInt32(e.NodeValue1);
int value2 = Convert.ToInt32(e.NodeValue2);
e.Result = value1.CompareTo(value2);
} catch { }
break;
default:
return;
}
}
수정 전 그리드에서 소트한 모습
수정 후 그리드에서 정렬한 모습
반응형
'개발 > C# + DevExpress' 카테고리의 다른 글
[2021.10] XtraGrid 특정 Row의 컬럼 값 편집 여부를 설정하는 방법 (0) | 2021.10.22 |
---|---|
[2021.06] DevExpress XtraMessagebox 및 버튼의 폰트수정(v2) (0) | 2021.06.07 |
[2021.06] Devexpress Grid 등의 팝업메뉴 한글로 바꿀 수 없을까? (0) | 2021.06.04 |
[2021.04] DevExpress 스킨목록 가져오고 적용하기 (0) | 2021.04.22 |
[2021.04] Devexpress ComboBoxEdit 아이템에 Class Object 넣어서 처리하기 (0) | 2021.04.21 |