이번 포스팅은 DataGridView에서 Column 높이를 변경하는 방법에 대해 알아보겠습니다.
| DataGridView Coumn 높이 변경 방법
C#의 DataGridView의 Column의 높이라는 것은 위 그림을 말합니다.
기본적으로 DataGridView 컨트롤에서는 개별 Column의 높이를 조정하는 기능을 제공하지 않습니다.
예를 들어 위 그림에서 id Column의 높이를 조절하거나
특정 Cell 값 (예를 들어 Product 2)의 Column 높이를 조정하는 기능을 지원하지 않습니다.
이는 컨트롤의 기본적인 동작 방식과 관련이 있는데요.
DataGridView는 행 기준으로 데이터를 표시하도록 설계되었기 때문입니다.
따라서 DataGridView 특정 열의 높이를 일괄적으로 변경하는 것은 기본 기능으로 불가하며
커스텀 컨트롤을 만들거나 외부 라이브러리를 사용하는 방법 등의 작업이 필요합니다.
하지만 행을 기준으로 행의 높이를 변경한다면 각 열의 높이에도 영향을 줍니다.
행의 높이를 변경하는 방법은 DataGridView 컨트롤에서 몇 가지 기능으로 제공하고 있습니다.
| RowTemplate.Height 사용
DataGridView에서 RowTemplate.Height 속성은 생성되는 모든 행에 대한 높이를 설정합니다.
비주얼 스튜디오를 사용했으며 DataGridView의 속성탭을 보시면 RowTemplete를 확인할 수 있습니다.
또는 코드로도 변경할 수 있습니다.
dataGridView1.RowTemplate.Height = 60;
이렇게 설정하면 모든 행에 대한 높이가 변경되고 이는 각 열의 높이에도 반영되므로,
이는 열의 높이를 변경하는 것과 같은 효과를 줍니다.
결과)
| Rows[index].Height 사용
행의 높이를 설정하는 가장 일반적인 방법은 위 방법이지만
개별 행의 높이 설정을 위한 방법도 있습니다.
DataGridView의 Rows 컬렉션을 통해 개별 행에 접근하여 Height 속성을 설정할 수 있습니다.
예시) Rows 컬렉션을 이용한 특정 행 높이 변경
dataGridView1.Rows[index].Height = 100;
위 코드는 index에 해당하는 행의 높이를 100px로 설정합니다,
하지만 위 코드를 사용해서 행의 높이 변경이 안된다면
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
AutoSizeRowsMode 속성을 None으로 하여 행 높이를 자동으로 조정되는 설정을 풀면 변경이 되며
또한 DataGridView에 이미 데이터 바인딩이 되어 있다면
데이터 바인딩을 수행하고 UI를 업데이트 하는 과정에서 일부 속성 설정이 무시될 수 있습니다.
따라서 데이터 바인딩이 완료된 후에 행 높이를 수정해야 합니다.
예제) DataBindingComplete 이벤트 사용
dataGridView1.DataSource = products;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dataGridView1.DataBindingComplete += dataGridView1_DataBindingComplete;
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
dataGridView1.Rows[1].Height = 100;
}
결과)
| 마무리
C#의 DataGridView의 Column 높이 조절에 대해 알아봤습니다.
실제로는 행의 높이 조절이였지만
유용하게 사용할 수 있을 것 같습니다.
틀린 점이나 질문이 있으면 댓글로 남겨주세요!
감사합니다 :)
'C# > Winform' 카테고리의 다른 글
C# Form Show 및 존재 여부 확인 (0) | 2024.01.09 |
---|---|
C# Winform DataGridView Header Cell 높이 변경 (0) | 2023.12.20 |
C# Winform DataGridView 이해 (0) | 2023.12.19 |
C# Winform 이미지 히스토그램 구현 (2) | 2023.11.29 |
[C# Winform] PropertyGrid 데이터를 INI 파일로 저장하기 (0) | 2021.12.13 |