C#/Winform

C# Winform DataGridView 행 번호 넣는 방법

우준세 2025. 8. 1. 16:14
728x90
반응형

 

 

이번 포스팅은 C# Winform에서 DataGirdView 도구에 

자동으로 행 번호를 넣는 방법에 대해 알아보겠습니다.


| DataGridView 기존 열 생성

Form에 DataGridView를 생성하고 Col1, Col2, Col3이라는 열을 생성했습니다.

기존에는 데이터를 늘려도 앞에 행 번호가 없는 것을 확인할 수 있습니다.

 

| DataGridView에 행 번호 추가하기 

 

DataGridView 속성에서 이벤트 항목의 RowPostPaint를 설정합니다.

RowPostPaint 이벤트는 각 행이 그려질 때마다 호출되는 이벤트입니다.

더블 클릭하면 이벤트가 자동으로 만들어지니까 활용해 보세요!

 

그리고 만들어진 RowPostPaint 이벤트 메서드에 코드를 작성합니다. 

private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
    // DataGridView의 첫 번째 열에 행 번호를 추가합니다.
    using (SolidBrush brush = new SolidBrush(dataGridView1.RowHeadersDefaultCellStyle.ForeColor))
    {
        string rowIndex = (e.RowIndex + 1).ToString();
        e.Graphics.DrawString(rowIndex, e.InheritedStyle.Font, brush, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + 4);
    }
}

 

코드 해석)

  • e.RowIndex + 1: 행 번호는 e.RowIndex 값을 기준으로 계산합니다.
  • e.RowIndex는 0부터 시작하므로 1을 더해줍니다.
    e.Graphics.DrawString: Graphics 객체를 사용하여 행 번호를 그립니다.
  • e.RowBounds.Location.X와 e.RowBounds.Location.Y는 각 행의 위치를 나타내며,
    번호를 적절한 위치에 그릴 수 있게 도와줍니다.
  • SolidBrush: 행 번호를 그릴 때 사용할 색을 지정합니다.
    여기서는 dataGridView1.RowHeadersDefaultCellStyle.ForeColor로 설정하여
    기본 텍스트 색상과 동일하게 설정합니다.

결과)

 

 

행에 데이터를 입력하면 행 번호가 자동으로 입력되는 것을 확인할 수 있습니다.


| 마무리

C# Winform을 사용하다 보면 DataGridView를 자주 사용하는데

user 입장에서는 행 번호가 입력되는 것이 가독성이 뛰어납니다.

 

데이터가 동적으로 추가되고 삭제되어도 행 번호가 자동으로 업데이트되므로

이 기능을 사용해서 프로젝트에 활용해 보세요!

 

틀린 점이나 질문이 있으시면 댓글로 남겨주세요!

 

감사합니다:)

728x90
반응형