C#에서 DataTable에 행(Row)을 추가하는 방법에 대해 설명합니다.
방법 1. DataRow를 사용
추가하려는 행(Row)의 수만큼 DataRow가 필요하므로 좋은 방법은 아닙니다.
/* DataTable 생성 및 컬럼 설정 */
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));
/* 1. DataRow를 사용하는 방법 */
DataRow rowEx1 = dt.NewRow();
rowEx1["ID"] = "A";
rowEx1["Subject"] = "Java Programming";
rowEx1["Score"] = 100;
dt.Rows.Add(rowEx1);
DataRow rowEx2 = dt.NewRow();
rowEx2["ID"] = "B";
rowEx2["Subject"] = "C Programming";
rowEx2["Score"] = 80;
dt.Rows.Add(rowEx2);
방법 2. Add() 메서드를 사용
/* DataTable 생성 및 컬럼 설정 */
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));
/* 2. Add() 메소드를 사용하는 방법 */
dt.Rows.Add("A", "Java Programming", 100);
dt.Rows.Add("B", "C Programming", 80);
방법 3. ImportRow()를 메서드를 사용하여 다른 DataTable의 데이터를 추가
ImportRow() 메서드
public void ImportRow (DataRow? row);
첫 번째 매개 변수
- 추가되는 DataRow
- DataTable의 끝에 추가 됩니다.
/* DataTable 생성 및 컬럼 설정 */
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));
/* 3. ImportRow() 메소드를 사용하는 방법 */
DataTable dtCopy = new DataTable();
dtCopy.Columns.Add("ID", typeof(string));
dtCopy.Columns.Add("Subject", typeof(string));
dtCopy.Columns.Add("Score", typeof(int));
dtCopy.Rows.Add("C", "JavaScript", 90);
dt.ImportRow(dtCopy.Rows[0]);
방법 4. InsertAt() 메서드를 사용하여 원하는 인덱스에 추가
InserAt() 메서드
public void InsertAt(DataRow row, int pos)
첫 번째 매개 변수
- 추가할 DataRow
두 번째 매개 변수
- 추가되는 DataTable의 Index 위치
- 0보다 커야합니다.
/* DataTable 생성 및 컬럼 설정 */
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Subject", typeof(string));
dt.Columns.Add("Score", typeof(int));
/* 4. InsertAt() 메소드를 사용하는 방법 */
dt.Rows.Add("A", "Java Programming", 100);
dt.Rows.Add("C", "C Programming", 80);
DataRow rowEx3 = dt.NewRow();
rowEx3["ID"] = "B";
rowEx3["Subject"] ="C# Programming";
rowEx3["Score"] = 100;
dt.Rows.InsertAt(rowEx3, 1);
반응형
'C#' 카테고리의 다른 글
[C#]DataTable 복사(Copy)와 복제(Clone) 방법 (0) | 2021.07.27 |
---|---|
[C#]DataTable에 컬럼(Column) 추가하는 방법 (0) | 2021.07.26 |
[C#]ref와 out 키워드 (0) | 2021.05.16 |
[C#]Call By Value, Call By Reference (0) | 2021.05.16 |
[C#]값 형식(Value Types)과 참조 형식(Reference Types) (3) | 2021.05.15 |
댓글