다음을 통해 공유


방법: Windows Forms DataGrid 컨트롤 서식 지정

업데이트: 2007년 11월

참고:

DataGridView 컨트롤은 DataGrid 컨트롤에 새로운 기능이 추가된 것으로, 이전 컨트롤을 대체합니다. 그러나 이전 버전과의 호환성 및 앞으로의 사용 가능성을 고려하여 DataGrid 컨트롤을 유지하도록 선택할 수 있습니다. 자세한 내용은 Windows Forms DataGridView 컨트롤과 DataGrid 컨트롤의 차이점을 참조하십시오.

DataGrid 컨트롤의 여러 부분에 서로 다른 색을 적용하면 정보를 더 쉽게 읽고 해석할 수 있습니다. 행과 열에 색을 적용할 수 있으며 필요에 따라 행과 열을 숨기거나 표시할 수도 있습니다.

DataGrid 컨트롤의 서식 지정과 관련된 세 가지 기본적인 사항이 있습니다. 속성을 설정하여 데이터가 표시되는 기본 스타일을 설정할 수 있습니다. 이를 기초로 특정 테이블이 런타임에 표시되는 방식을 사용자 지정할 수 있습니다. 마지막으로, 표시되는 색 및 기타 서식뿐 아니라 데이터 표에 표시할 열을 수정할 수 있습니다.

데이터 표의 서식을 지정하는 첫 단계로 DataGrid 자체의 속성을 설정할 수 있습니다. 일단 색과 서식을 선택한 다음 이를 기초로 하여 표시되는 데이터 테이블과 열에 따라 변경 작업을 수행할 수 있습니다.

DataGrid 컨트롤에 대해 기본 스타일을 설정하려면

  • 다음 속성을 적절하게 설정합니다.

    속성

    설명

    AlternatingBackColor

    BackColor 속성은 데이터 표에서 짝수 행의 색을 정의합니다. AlternatingBackColor 속성을 다른 색으로 설정하면 홀수 행(1, 3, 5행 등)에 해당 색이 적용됩니다.

    BackColor

    데이터 표에서 짝수 행(0, 2, 4, 6행 등)의 배경색입니다.

    BackgroundColor

    BackColorAlternatingBackColor 속성은 데이터 표에서 행의 색을 지정하지만 BackgroundColor 속성은 데이터 표를 아래로 스크롤하거나 데이터 표에 행이 많지 않을 때만 보이는 행 이외 영역의 색을 지정합니다.

    BorderStyle

    데이터 표의 테두리 스타일이며 BorderStyle 열거형 값 중 하나입니다.

    CaptionBackColor

    데이터 표 바로 위에 표시되는 데이터 표 창 캡션의 배경색입니다.

    CaptionFont

    데이터 표 위쪽에 있는 캡션의 글꼴입니다.

    CaptionForeColor

    데이터 표 창 캡션의 배경색입니다.

    Font

    데이터 표에서 텍스트를 표시하는 데 사용되는 글꼴입니다.

    ForeColor

    데이터 표의 행에서 데이터가 표시되는 글꼴의 색입니다.

    GridLineColor

    데이터 표에서 모눈선의 색입니다.

    GridLineStyle

    데이터 표의 각 셀을 구분하는 선의 스타일이며 DataGridLineStyle 열거형 값 중 하나입니다.

    HeaderBackColor

    행 및 열 머리글의 배경색입니다.

    HeaderFont

    열 머리글에 사용되는 글꼴입니다.

    HeaderForeColor

    데이터 표 열 머리글의 전경색입니다. 여기에는 열 머리글 텍스트와 여러 관련 테이블이 표시될 때 행을 확장하기 위한 +/- 문자 모양이 포함됩니다.

    LinkColor

    데이터 표에 있는 자식 테이블, 관계 이름 등에 대한 링크를 비롯한 모든 링크의 텍스트 색입니다.

    ParentRowsBackColor

    자식 테이블에서 이 속성은 부모 행의 배경색입니다.

    ParentRowsForeColor

    자식 테이블에서 이 속성은 부모 행의 전경색입니다.

    ParentRowsLabelStyle

    테이블 및 열 이름이 DataGridParentRowsLabelStyle 열거형을 통해 부모 행에 표시되는지 여부를 결정합니다.

    PreferredColumnWidth

    데이터 표에서 열의 기본 너비(픽셀)입니다. 개별적으로 또는 SetDataBinding 메서드를 통해 DataSourceDataMember 속성을 다시 설정하기 전에 이 속성을 설정합니다. 그렇지 않으면 이 속성을 설정해도 효과가 없습니다.

    이 속성의 값은 0 이상이어야 합니다.

    PreferredRowHeight

    데이터 표에서 행의 높이(픽셀)입니다. 개별적으로 또는 SetDataBinding 메서드를 통해 DataSourceDataMember 속성을 다시 설정하기 전에 이 속성을 설정합니다. 그렇지 않으면 이 속성을 설정해도 효과가 없습니다.

    이 속성의 값은 0 이상이어야 합니다.

    RowHeaderWidth

    데이터 표에서 행 머리글의 너비입니다.

    SelectionBackColor

    행이나 셀을 선택하면 이 속성이 배경색이 됩니다.

    SelectionForeColor

    행이나 셀을 선택하면 이 속성이 전경색이 됩니다.

    참고:

    컨트롤의 색을 사용자 지정할 때 색을 부적절하게 선택(예: 빨강 및 녹색)하면 컨트롤에 액세스할 수 없게 됩니다. 이러한 문제를 방지하려면 시스템 색 색상표에 있는 색을 사용합니다.

    다음 절차에서는 데이터 테이블에 바인딩된 DataGrid 컨트롤이 폼에 있다고 가정합니다. 자세한 내용은 Windows Forms DataGrid 컨트롤을 데이터 소스에 바인딩을 참조하십시오.

프로그래밍 방식으로 데이터 테이블의 테이블 및 열 스타일을 설정하려면

  1. 새 테이블 스타일을 만들고 속성을 설정합니다.

  2. 열 스타일을 만들고 속성을 설정합니다.

  3. 만든 열 스타일을 테이블 스타일의 열 스타일 컬렉션에 추가합니다.

  4. 만든 테이블 스타일을 데이터 표의 테이블 스타일 컬렉션에 추가합니다.

  5. 아래 예제에서는 새 DataGridTableStyle의 인스턴스를 만들고 MappingName 속성을 설정합니다.

  6. GridColumnStyle의 새 인스턴스를 만들고, MappingName을 설정하고, 기타 레이아웃 및 표시 속성을 설정합니다.

  7. 만들려는 각 열 스타일에 대해 2단계에서 6단계까지를 반복합니다.

    다음 예제에서는 열 안에 이름을 표시하기 위해 DataGridTextBoxColumn을 만드는 방법을 보여 줍니다. 또한 열 스타일을 테이블 스타일의 GridColumnStylesCollection에 추가하고 테이블 스타일을 데이터 표의 GridTableStylesCollection에 추가합니다.

    Private Sub CreateAuthorFirstNameColumn()
       ' Add a GridTableStyle and set the MappingName 
       ' to the name of the DataTable.
       Dim TSAuthors As New DataGridTableStyle()
       TSAuthors.MappingName = "Authors"
    
       ' Add a GridColumnStyle and set the MappingName 
       ' to the name of a DataColumn in the DataTable. 
       ' Set the HeaderText and Width properties. 
       Dim TCFirstName As New DataGridTextBoxColumn()
       TCFirstName.MappingName = "AV_FName"
       TCFirstName.HeaderText = "First Name"
       TCFirstName.Width = 75
       TSAuthors.GridColumnStyles.Add(TCFirstName)
    
       ' Add the DataGridTableStyle instance to 
       ' the GridTableStylesCollection. 
       myDataGrid.TableStyles.Add(TSAuthors)
    End Sub 
    
    private void addCustomDataTableStyle()
    {
       // Add a GridTableStyle and set the MappingName 
       // to the name of the DataTable.
       DataGridTableStyle TSAuthors = new DataGridTableStyle();
       TSAuthors.MappingName = "Authors";
    
       // Add a GridColumnStyle and set the MappingName 
       // to the name of a DataColumn in the DataTable. 
       // Set the HeaderText and Width properties. 
       DataGridColumnStyle TCFirstName = new DataGridTextBoxColumn();
       TCFirstName.MappingName = " AV_FName";
       TCFirstName.HeaderText = "First Name";
       TCFirstName.Width = 75;
       TSAuthors.GridColumnStyles.Add(TCFirstName);
    
       // Add the DataGridTableStyle instance to 
       // the GridTableStylesCollection. 
       dataGrid1.TableStyles.Add(TSAuthors);
    }
    
    private:
       void addCustomDataTableStyle()
       {
          // Add a GridTableStyle and set the MappingName 
          // to the name of the DataTable.
          DataGridTableStyle^ TSAuthors = new DataGridTableStyle();
          TSAuthors->MappingName = "Authors";
    
          // Add a GridColumnStyle and set the MappingName 
          // to the name of a DataColumn in the DataTable. 
          // Set the HeaderText and Width properties. 
          DataGridColumnStyle^ TCFirstName = gcnew DataGridTextBoxColumn();
          TCFirstName->MappingName = "AV_FName";
          TCFirstName->HeaderText = "First Name";
          TCFirstName->Width = 75;
          TSAuthors->GridColumnStyles->Add(TCFirstName);
    
          // Add the DataGridTableStyle instance to 
          // the GridTableStylesCollection. 
          dataGrid1->TableStyles->Add(TSAuthors);
       }
    

참고 항목

작업

방법: Windows Forms DataGrid 컨트롤에서 열 삭제 또는 숨기기

참조

GridTableStylesCollection

GridColumnStylesCollection

DataGrid

기타 리소스

DataGrid 컨트롤(Windows Forms)