이번 포스팅은 C#을 사용하면서 유용하게 사용할 수 있는 DataGridView 도구에 대해 설명하겠습니다.
유용한 만큼 기능도 많고 유연하게 사용할 수 있습니다.
| DataGridView 이해
DataGridView는 데이터의 테이블 형태 표현을 위한 Windows Forms 컨트롤입니다.
이 컨트롤은 행, 열, 셀로 구성된 그리드 형태를 가지며
우리는 이를 통해 데이터를 표시, 편집, 정렬 등의 작업을 수행합니다.
| DataGridView 구성
- Columns (열) : 컨트롤의 열로 각 열은 특정 타입의 데이터를 표시
- Rows (행) : 컨트롤의 행으로 각 행은 데이터의 단일 레코드를 표현
- Cells (셀) : 컨트롤의 셀은 행과 열이 교차하는 지점에 위치하며 실제 데이터를 표시하는 데 사용
- 셀의 타입과 속성은 해당 셀이 속한 열의 타입에 따라 결정 - Header Cells : 행 또는 열의 제목을 표시하는 데 사용되는 특별한 유형의 셀
- Data Source : DataGridView는 다양한 유형의 데이터 소스에 연결이 가능합니다. 예를 들어 데이터 베이스, List<T>, BindingList<T>와 같은 컬렉션 또는 다른 유형의 데이터 소스를 연결하여 데이터를 표시
| DataGridView 사용 방법
DataGridView를 간단하게 구현하는 방법을 알아보겠습니다.
먼저 Visual Studio에서 프로젝트 하나를 생성하고
도구 상자에서 DataGridView를 찾습니다.
그리고 DataGridView를 사용할 Form에 클릭 시 해당 컨트롤이 Form에 적용됩니다.
위 그림을 보시면 DataGridView 컨트롤은 Form에 적용이 됐지만 데이터는 보이지 않습니다.
이는 데이터 바인딩을 하지 않았기 때문인데요
이제 DataGridView에서 데이터 바인딩 하는 방법을 알아보겠습니다.
| DataGridView 데이터 바인딩
DataGridView 컨트롤은 데이터 소스에 바인딩하여 사용할 수 있습니다.
이 데이터 소스는 일반적으로 데이터 베이스, 컬렉션 등의 데이터 저장소입니다.
DataGridView는 이러한 데이터 소스를 읽어 테이블 형태로 표시합니다.
간단한 예제를 통해 알아보겠습니다.
예제) List를 데이터 소스로 사용
DataGridView 컨트롤에 데이터를 바인딩하는 방법은 여러 가지가 있지만
이번 예제에서는 List를 사용하여 데이터를 바인딩해 보겠습니다.
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
List<Product> products = new List<Product>
{
new Product { Id = 1, Name = "Product 1", Price = 100 },
new Product { Id = 2, Name = "Product 2", Price = 200 },
new Product { Id = 3, Name = "Product 3", Price = 300 }
};
public Form1()
{
InitializeComponent();
dataGridView1.DataSource = products;
}
위 코드를 보시면 Product라는 Class를 만들고 List에 Class를 선언하고 초기화하여
DataGridView의 DataSource를 사용하여 데이터 소스로 설정하였습니다.
코드 결과
결과를 보시면 List로 선언한 Product 클래스가 DataGridView의 데이터 소스로 바인딩된 것을 확인이 가능합니다.
| 마무리
DataGridView로는 생각보다 많은 기능을 구현할 수 있습니다.
실제로 작업하면 DataGridView는 유용하지만 배워야 할게 많았습니다.
꾸준히 포스팅하여 제가 사용했던 DataGridView 사용 방법에 대해 포스팅하겠습니다.
틀린 점이나 질문이 있으면 댓글로 남겨주세요!
감사합니다 :)
'C# > Winform' 카테고리의 다른 글
C# Winform DataGridView Header Cell 높이 변경 (0) | 2023.12.20 |
---|---|
C# Winform DataGridView Column 높이 변경 (0) | 2023.12.19 |
C# Winform 이미지 히스토그램 구현 (2) | 2023.11.29 |
[C# Winform] PropertyGrid 데이터를 INI 파일로 저장하기 (0) | 2021.12.13 |
[C# Winform] Form에 Form 붙이기 (0) | 2021.12.07 |