반응형
데이터테이블을 활용한 데이터그리드뷰 컬럼 셋팅하기
DataGridView는 WinForms에서 데이터 표시를 위한 가장 강력한 도구 중 하나입니다. 여기에 DataTable을 활용해 데이터를 손쉽게 바인딩하고, 사용자 맞춤형 컬럼을 설정해 원하는 대로 화면을 구성할 수 있습니다.
1. DataTable 생성 및 데이터 추가
먼저, 데이터를 담을 DataTable을 생성합니다.
DataTable clone_dt = new DataTable();
// 컬럼추가
clone_dt.Columns.Add("itemname", typeof(string));
clone_dt.Columns.Add("itemspec", typeof(string));
clone_dt.Columns.Add("qty", typeof(int));
clone_dt.Columns.Add("unit", typeof(string));
clone_dt.Columns.Add("descr", typeof(string));
위 코드에서는 5가지 컬럼을 가진 DataTable을 생성하였습니다.
2. DataGridView와 DataTable 연결
생성한 DataTable을 DataGridView에 바인딩하여 화면에 표시해보겠습니다.
dataGridView1.DataSource = clone_dt;
이 코드를 추가하면 DataGridView가 자동으로 DataTable의 컬럼과 데이터를 가져와 표시합니다.
3. 컬럼 속성 설정
기본적으로 DataGridView는 DataTable의 구조에 맞춰 컬럼을 생성하지만, 사용자 요구에 따라 컬럼 속성을 조정할 수 있습니다. 예를 들어, 특정 컬럼의 헤더 텍스트, 폭, 숨김 등을 설정할 수 있습니다.
// 컬럼 넓이를 자동으로 채워준다
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView1.Columns["itemname"].Width = 120;
dataGridView1.Columns["itemname"].HeaderText = "품명";
// 넓이를 입력하지 않은 컬럼은 남은 컬럼을 화면에 맞게 자동으로 크기를 채워준다.
dataGridView1.Columns["itemspec"].HeaderText = "규격";
dataGridView1.Columns["qty"].Width = 60;
dataGridView1.Columns["qty"].HeaderText = "수량";
dataGridView1.Columns["unit"].Width = 60;
dataGridView1.Columns["unit"].HeaderText = "단위";
dataGridView1.Columns["descr"].Width = 100;
dataGridView1.Columns["descr"].HeaderText = "비고";
마무리
오늘은 DataTable을 활용해 DataGridView의 컬럼을 설정하는 방법을 알아봤습니다. 이렇게 데이터를 그리드 형태로 시각화하고, 사용자 맞춤형으로 컬럼을 설정하는 방법을 익히면, 다양한 상황에 맞는 유연한 데이터 관리를 할 수 있습니다. 필요할 때는 컬럼을 숨기거나, 새로 추가하고, 컬럼의 순서를 조정해 원하는 대로 데이터를 표시할 수 있습니다.
이제 여러분도 실전에서 DataGridView를 효과적으로 활용해 보세요! :)
반응형
'IT 개발일지' 카테고리의 다른 글
Windows 10 멈춤 현상(프리징) 해결 방법: 간단한 설정 조정으로 안정성 확보하기 (0) | 2024.08.12 |
---|---|
MYSQL 스케쥴러SCHEDULE 및 트리거TRIGGER 예제 (0) | 2024.05.08 |
C# 데이터그리드뷰 행 삭제 How to Delete Rows in a DataGridView with a Boundin Data Source in WinForms: A Step-by-Step Guide with Code Snippets (0) | 2023.05.15 |
C# datagrid에 checkbox 삽입 하기 (0) | 2023.01.10 |
C# OleDb를 이용하여 엑셀파일 불러와서 내용 출력 (0) | 2022.12.30 |
댓글