java에서 for문으로 찍어왔는데, .NET프로젝트를 하면서는
Repeater 라는 놈에 DataTable데이터를 바인딩해서 출력을 주로 하게 되었다.
근데, 막상 결과를 datatable에 담는 간단한 샘플코드 찾기가 이상하게 힘들었고, 결국은 내가 정리해서 포스팅을 하게 되었다 ;;;
예제1) 테이블
이런 테이블 형태의 데이터를 담고 싶다면??
loop를 돌면서 데이터를 생성해서 담는 구조면 처음것,,,
api같은것에서 배열을 통째로 던져주는 구조라면 두번재 방법으로 사용하면됨...
[첫번째 방법] 값을 일일이 넣어주기 ! (필드단위로 값을 넣어주기)
[두번째방법] 값을 object 배열로 밀어 넣어 버리기 ! (행을 통째로 대입)
이런식으로 선언하고 rpt_view라는 리피터를 선언했다면,
rpt_view.DataSource = table;
rpt_view.DataBind();
형태로 출력하면 됨.
Repeater 라는 놈에 DataTable데이터를 바인딩해서 출력을 주로 하게 되었다.
근데, 막상 결과를 datatable에 담는 간단한 샘플코드 찾기가 이상하게 힘들었고, 결국은 내가 정리해서 포스팅을 하게 되었다 ;;;
예제1) 테이블
NAME | AGE |
홍길동 | 10 |
둘리 | 20 |
이런 테이블 형태의 데이터를 담고 싶다면??
loop를 돌면서 데이터를 생성해서 담는 구조면 처음것,,,
api같은것에서 배열을 통째로 던져주는 구조라면 두번재 방법으로 사용하면됨...
[첫번째 방법] 값을 일일이 넣어주기 ! (필드단위로 값을 넣어주기)
선언문 : using System.Data;
DataTable table = new DataTable();
DataRow row = null;
//[1] 필드정의
table.Columns.Add(new DataColumn("NAME", typeof(string)));
table.Columns.Add(new DataColumn("AGE", typeof(int)));
//[2] 행추가하기, 데이터 넣기
//----LOOP로직[시작]----
row = table.NewRow(); //행추가
row["NAME"] = "홍길동";
row["AGE"] = 10;
table.Rows.Add(row);
//----LOOP로직[끝]----
row = table.NewRow();
row["NAME"] = "둘리";
row["AGE"] = 20;
table.Rows.Add(row);
...
DataTable table = new DataTable();
DataRow row = null;
//[1] 필드정의
table.Columns.Add(new DataColumn("NAME", typeof(string)));
table.Columns.Add(new DataColumn("AGE", typeof(int)));
//[2] 행추가하기, 데이터 넣기
//----LOOP로직[시작]----
row = table.NewRow(); //행추가
row["NAME"] = "홍길동";
row["AGE"] = 10;
table.Rows.Add(row);
//----LOOP로직[끝]----
row = table.NewRow();
row["NAME"] = "둘리";
row["AGE"] = 20;
table.Rows.Add(row);
...
[두번째방법] 값을 object 배열로 밀어 넣어 버리기 ! (행을 통째로 대입)
선언문 : using System.Data;
DataTable table = new DataTable();
DataRow row = null;
//[1] 필드정의
table.Columns.Add(new DataColumn("NAME", typeof(string)));
table.Columns.Add(new DataColumn("AGE", typeof(int)));
//[2] 행추가하기 , 데이터 넣기
//----LOOP로직[시작]----
row = table.NewRow();
row.ItemArray = new object[]{"홍길동", 10 };
table.Rows.Add(row);
//----LOOP로직[끝]----
row = table.NewRow();
row.ItemArray = new object[]{"둘리", 20 };
table.Rows.Add(row);
...
DataTable table = new DataTable();
DataRow row = null;
//[1] 필드정의
table.Columns.Add(new DataColumn("NAME", typeof(string)));
table.Columns.Add(new DataColumn("AGE", typeof(int)));
//[2] 행추가하기 , 데이터 넣기
//----LOOP로직[시작]----
row = table.NewRow();
row.ItemArray = new object[]{"홍길동", 10 };
table.Rows.Add(row);
//----LOOP로직[끝]----
row = table.NewRow();
row.ItemArray = new object[]{"둘리", 20 };
table.Rows.Add(row);
...
이런식으로 선언하고 rpt_view라는 리피터를 선언했다면,
rpt_view.DataSource = table;
rpt_view.DataBind();
형태로 출력하면 됨.