[C#] DataTable 정렬(Sort) 방법 (여러개 컬럼 조합)
- 프로그래밍/씨샵(C#)
- 2020. 7. 2.
C#에서 DataTable를 사용하다 보면 특정 컬럼의 값으로 행을 정렬해야 할 상황이 생긴다. 이럴 때는 다양한 방법이 있지만 DataTable 기본 속성 Sort를 사용하면 쉽게 정렬이 가능하다. 여러 개(Multi) 컬럼을 조합하여 정렬도 가능하다.
아래의 예제 중 상황에 맞는 방법을 사용하면 된다.
1. DataTable Sort 속성을 사용하는 방법
DataTable dt = new DataTable();
// ... 생략
// 오름차순
dt.DefaultView.Sort = "HIREDATE ASC";
// 내림차순
dt.DefaultView.Sort = "HIREDATE DESC";
// 여러개 컬럼을 조합하여 정렬
dt.DefaultView.Sort = "JOB ASC, HIREDATE DESC";
"ASC" 는 생략이 가능하다.
dt.DefaultView.Sort = "HIREDATE ASC" → dt.DefaultView.Sort = "HIREDATE"
여러개의 컬럼을 조합하여 정렬할 경우 컬럼을 쉼표(",")로 구분하여 입력하면 된다.
2. DataView를 사용하는 방법
DataTable dt = new DataTable();
// ... 생략
DataView dv = new DataView(dt);
dv.Sort = "JOB ASC, HIREDATE DESC";
dt = dv.ToTable();
3. Select 메서드를 사용하는 방법
DataTable dt = new DataTable();
// ... 생략
dt = dt.Select("", "JOB ASC, NAME DESC").CopyToDataTable<DataRow>();