안녕하세요?
1. 보통 아래와 같이 코드를 처리합니다.
아래의 코드는 Database에 저장하기 위해, 현재의 그리드에서 입력 자료를 읽어 DataTable에
저장하는 코드입니다. 이렇게 DataTable에 저장한 자료는 다시 실제 DB에 입력 처리 과정이
따릅니다.
2. 예제 코드
// 버튼이 눌리면, 그리드에서 자료을 읽어, DataTable을 만듭니다.
private void button1_Click()
{
// 컬럼을 정의합니다. ( ID, Name, Age )
DataTable table = GetColumnTable();
// 그리드뷰에서 행단위로 순회하면서, 각 컬럼을 newRow에 추가한 다음,
// 테이블에 행을 append 합니다.
for (int rowIndex = 0; rowIndex < dgvDataList.Rows.Count; rowIndex++)
{
// NewRow() 메서드를 호출하면, 정의한 컬럼이 붙은 빈 행이 열립니다.
DataRow newRow = table.NewRow();
// 이제 그리드에서 각 컬럼을 newRow의 컬럼에 저장합니다.
newRow["ID"] = dgvDataList.Rows[rowIndex].Cells["ID"].Value.ToString();
newRow["Name"] = dgvDataList.Rows[rowIndex].Cells["Name"].Value.ToString();
if(dgvDataList.Rows[rowIndex].Cells["Age"].Value != null)
{
// int형으로 형변환 합니다. (나이)
newRow["Age"] =
Convert.ToInt32(dgvDataList.Rows[rowIndex].Cells["Age"].Value.ToString());
}
// newRow 행 자체를 table의 행으로 추가합니다.
table.Rows.Add(newRow);
newRow = null;
}
}
// 컬럼을 정의하여 DataTable을 반환합니다.
private DataTable GetColumnTable()
{
DataTable table = new DataTable();
table.Columns.Add("ID", typeof(string)); // 아이디 : 문자열
table.Columns.Add("Name", typeof(string)); // 이름 : 문자열
table.Columns.Add("Age", typeof(int)); // 나이 : 숫자
return table;
}
도움이 되시길 바랍니다.
감사합니다.
written by
legend
C과외/C#과외/VB과외 프로그래밍 과외.서울인천경기-방문강의.기타전국-화상강의.제대로 체계적으로 배우고싶은분들.15년경력 프리랜서.삼성/포스코/한진 등. 서울,인천,경기,분당,일산,과천,산본,부천,부평,평촌,안산,안양,광명,용인,시흥,성남,수원,평택,오산,화성,동탄,천안,아산, c#프로그래밍1:1과외, 15년 이상 프로젝트 경력의 프리랜서 직접 강의, c#프로그래밍 과외, c#프로그래밍교육, IT·컴퓨터·컴퓨터과외비·프로그래밍과외, c# 강좌, c# 프로그래밍, 데이터베이스, 데이터베이스 프로그래밍, db, DB, 과외비,컴퓨터1:1,컴퓨터개인지도,컴퓨터실무과외,컴퓨터과외,컴퓨터1:1과외, 서울,인천,경기,부천,안산,분당,일산,천안,과천,산본,안양,광명,평촌,수원,평택,오산,용인,부평,시흥,성남,화성,동탄
광주,부산,대구,대전,마산,창원,울산,전주,군산,원주,강릉,충청남도,충청북도,강원도,경상남도,경상북도,전라남도,전라북도,제주도
'좋은질문' 카테고리의 다른 글
C# 객체 생성 (0) | 2014.09.08 |
---|---|
C# 모든 경우의수 조합 출력-알고리즘 (0) | 2014.09.07 |
C# public form과 private form_load의 질문입니다. (0) | 2014.09.05 |
C# Label For문 진행중 실시간으로 보이게하기 (0) | 2014.09.04 |
C# 랜덤 넘버 다수 라벨 (0) | 2014.09.02 |