C#에서 DataTable를 사용하다 보면 컬럼을 동적으로 추가해야 하는 경우가 있다. Add() 메소드를 이용하여 컬럼을 추가하고 SetOrdinal() 메소드를 이용하여 컬럼을 원하는 위치로 이동시킬 수 있다.
DataTable.Columns.Add(col) |
1. 기본적인 컬럼 추가 방법
컬럼명만 지정한 경우 컬럼의 데이터 타입은 "String" 이다
DataTable dt = new DataTable();
// ... 생략
dt.Columns.Add("JOB");
2. 원하는 위치에 컬럼을 추가하는 방법 (위치 지정)
컬럼을 추가 후 SetOrdinal("위치") 메소드를 이용하여 컬럼의 위치를 변경한다
DataTable dt = new DataTable();
// ... 생략
dt.Columns.Add("MGR").SetOrdinal(1);
3. 컬럼의 데이터 타입을 지정하여 추가하는 방법
DataTable dt = new DataTable();
// ... 생략
dt.Columns.Add("SALARY", typeof(int));
dt.Columns.Add("SALARY", typeof(int)).SetOrdinal(2); // 원하는 위치에 추가할 경우
4. 컬럼의 세부 속성을 지정하여 추가하는 방법
ColumnName 속성 외에 나머지 속성은 생략이 가능하다
DataTable dt = new DataTable();
// ... 생략
DataColumn col = new DataColumn();
col.DataType = System.Type.GetType("System.DateTime"); // 데이터 타입
col.AllowDBNull = false; // Null 허용 여부
col.Caption = "입사일"; // 설명
col.ColumnName = "HIREDATE"; // 컬럼명
col.DefaultValue = DateTime.Parse("2020-06-30"); // 기본값
dt.Columns.Add(col);