방법: Windows Forms DataGridView 컨트롤에 기본 셀 스타일 설정
업데이트: 2007년 11월
DataGridView 컨트롤을 사용하여 전체 컨트롤에 대한 기본 셀 스타일과 특정 열 및 행에 대한 기본 셀 스타일을 지정할 수 있습니다. 이러한 기본값은 컨트롤 수준에서 열 수준, 행 수준 및 셀 수준으로 차례대로 필터링됩니다. 특정 DataGridViewCellStyle 속성이 셀 수준에 설정되어 있지 않은 경우 행 수준의 기본 속성 설정이 사용됩니다. 행 수준에도 속성이 설정되어 있지 않은 경우 기본 열 설정이 사용됩니다. 마지막으로 열 수준에도 속성이 설정되어 있지 않은 경우에는 기본 DataGridView 설정이 사용됩니다. 이 설정을 사용하면 여러 수준에서 속성 설정을 중복하지 않아도 됩니다. 각 수준에서 상위 수준과 다른 스타일을 지정하면 됩니다. 자세한 내용은 Windows Forms DataGridView 컨트롤의 셀 스타일을 참조하십시오.
Visual Studio에서는 이 작업을 폭넓게 지원합니다.
기본 셀 스타일을 프로그래밍 방식으로 설정하려면
DataGridView.DefaultCellStyle 속성을 통해 검색된 DataGridViewCellStyle 속성을 설정합니다.
Me.dataGridView1.DefaultCellStyle.BackColor = Color.Beige Me.dataGridView1.DefaultCellStyle.Font = New Font("Tahoma", 12)
this.dataGridView1.DefaultCellStyle.BackColor = Color.Beige; this.dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 12);
여러 행과 열에 사용할 새 DataGridViewCellStyle 개체를 만들어 초기화합니다.
Dim highlightCellStyle As New DataGridViewCellStyle highlightCellStyle.BackColor = Color.Red Dim currencyCellStyle As New DataGridViewCellStyle currencyCellStyle.Format = "C" currencyCellStyle.ForeColor = Color.Green
DataGridViewCellStyle highlightCellStyle = new DataGridViewCellStyle(); highlightCellStyle.BackColor = Color.Red; DataGridViewCellStyle currencyCellStyle = new DataGridViewCellStyle(); currencyCellStyle.Format = "C"; currencyCellStyle.ForeColor = Color.Green;
특정 행과 열의 DefaultCellStyle 속성을 설정합니다.
With Me.dataGridView1 .Rows(3).DefaultCellStyle = highlightCellStyle .Rows(8).DefaultCellStyle = highlightCellStyle .Columns("UnitPrice").DefaultCellStyle = currencyCellStyle .Columns("TotalPrice").DefaultCellStyle = currencyCellStyle End With
this.dataGridView1.Rows[3].DefaultCellStyle = highlightCellStyle; this.dataGridView1.Rows[8].DefaultCellStyle = highlightCellStyle; this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle = currencyCellStyle; this.dataGridView1.Columns["TotalPrice"].DefaultCellStyle = currencyCellStyle;
예제
Private Sub SetDefaultCellStyles()
Dim highlightCellStyle As New DataGridViewCellStyle
highlightCellStyle.BackColor = Color.Red
Dim currencyCellStyle As New DataGridViewCellStyle
currencyCellStyle.Format = "C"
currencyCellStyle.ForeColor = Color.Green
With Me.dataGridView1
.DefaultCellStyle.BackColor = Color.Beige
.DefaultCellStyle.Font = New Font("Tahoma", 12)
.Rows(3).DefaultCellStyle = highlightCellStyle
.Rows(8).DefaultCellStyle = highlightCellStyle
.Columns("UnitPrice").DefaultCellStyle = currencyCellStyle
.Columns("TotalPrice").DefaultCellStyle = currencyCellStyle
End With
End Sub
private void SetDefaultCellStyles()
{
this.dataGridView1.DefaultCellStyle.BackColor = Color.Beige;
this.dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 12);
DataGridViewCellStyle highlightCellStyle = new DataGridViewCellStyle();
highlightCellStyle.BackColor = Color.Red;
DataGridViewCellStyle currencyCellStyle = new DataGridViewCellStyle();
currencyCellStyle.Format = "C";
currencyCellStyle.ForeColor = Color.Green;
this.dataGridView1.Rows[3].DefaultCellStyle = highlightCellStyle;
this.dataGridView1.Rows[8].DefaultCellStyle = highlightCellStyle;
this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle =
currencyCellStyle;
this.dataGridView1.Columns["TotalPrice"].DefaultCellStyle =
currencyCellStyle;
}
코드 컴파일
이 예제에는 다음 사항이 필요합니다.
dataGridView1이라는 DataGridView 컨트롤
System, System.Drawing 및 System.Windows.Forms 어셈블리에 대한 참조
강력한 프로그래밍
대용량 데이터 집합에 대한 작업을 수행할 때 확장성을 최대한 향상시키려면 개별 요소에 대한 스타일 속성을 별도로 설정하지 않고 동일한 스타일을 사용하는 여러 행, 열 또는 셀 전체에서 DataGridViewCellStyle 개체를 공유해야 합니다. 또한 공유 행을 만든 다음 DataGridViewRowCollection.SharedRow 속성을 사용하여 해당 공유 행에 액세스해야 합니다. 자세한 내용은 Windows Forms DataGridView 컨트롤의 크기를 조정하는 최선의 방법을 참조하십시오.
참고 항목
작업
방법: Windows Forms DataGridView 컨트롤에 교대로 반복되는 행 스타일 설정
개념
Windows Forms DataGridView 컨트롤의 셀 스타일
Windows Forms DataGridView 컨트롤의 크기를 조정하는 최선의 방법
참조
DataGridViewBand.DefaultCellStyle