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
반응형