VB.NET 2008/VB - 데이터 그리드 뷰

DataGridView - 기본 열, 행 및 셀 기능

본클라쓰 2011. 4. 26. 11:14

 

컬럼 숨기기

 

DataGridView 컨트롤에서 사용 가능한 열을 일부만 표시하고자 하는 경우, 예를 들어, 관리 자격 증명이 있는 사용자에게만 직원 급여 열을 표시하고 그 외의 사용자에게는 숨길 수 있다. 또는 많은 열을 포함하는 데이터 소스에 컨트롤을 바인딩한 다음 일부 열만 표시할 수 있습니다.

 

표시 여부를 결정하는 것은 DataGridView 컨트롤에 열의 Visible 속성입니다.

 

Me.dataGridView1.Columns("CustomerID").Visible = False

 

 

 

열 머리글 숨기기

 

열 머리글 없이 DataGridview를 표시할 수도 있습니다. DataGridView 컨트롤에서 ColumnHeadersVisible 속성 값은 열 머리글 표시 여부를 결정합니다.

 

dataGridView1.ColumnHeadersVisible = False

 

 

 

열 정렬 여부 결정

 

열 다시 정렬을 사용하는 경우 사용자는 마우스로 열 머리글을 끌어서 열을 새 위치로 이동할 수 있습니다. DataGridView의 AllowUserToOrderColumns 속성 값은 사용자가 열을 다른 위치로 이동할 수 있는지 여부를 결정합니다.

 

dataGridView1.AllowUserToOrderColumns = True

 

 

 

열의 고정

 

DataGridView 컨트롤에 표시된 데이터를 볼 때 단일 열이나 열 집합을 자주 참조해야 하는 경우가 있습니다. 예를 들어, 많은 열을 포함하는 고객 정보 테이블을 표시하는 경우 고객 이름은 항상 표시하고 다른 열은 가시 영역 밖으로 스크롤되도록 하면 유용합니다. 이렇게 하려면 컨트롤에서 열을 고정하면 됩니다. 열을 고정하면 해당 열 왼쪽에 있는 모든 열이 함께 고정됩니다. 다른 모든 열은 스크롤 할 수 있지만 고정된 열은 그대로 유지됩니다.

 

Me.dataGridView1.Columns("AddToCartButton").Frozen = True

 

 

 

열의 편집 속성

 

모든 데이터를 편집할 수 있는 것은 아닙니다. dataGridView 컨트롤에서 열의 ReadOnly 속성 값에 따라 사용자가 해당 열에서 셀을 편집할 수 있는지 여부가 결정됩니다.

 

dataGridView1.Columns("CompanyName").ReaderOnly = True

 

 

 

새 행의 입력이나 기존 행을 삭제하지 못하게 하는 속성

 

DataGridView 컨트롤에서 사용자가 데이터의 새 행을 입력하거나 기존 행을 삭제하지 못하도록 하려는 경우가 있습니다. AllowUserToAddRows 속성은 새 레코드의 행이 컨트롤의 맨 아래에 표시되는지 여부를 나타내고, AllowUserToDeleteRows 속성은 행 제거 가능 여부를 나타냅니다. 다음 예제는 이러한 속성을 사용하고, ReadOnly 속성을 설정하여 컨트롤을 읽기 전용으로 만든 예제입니다.

 

Private Sub MakeReadOnly()

    With dataGridView1
        .AllowUserToAddRows = False
        .AllowUserToDeleteRows = False
        .ReadOnly = True
    End With

End Sub

 

 

 

현재 선택된 셀 검색

 

DataGridView와 상호 작용하려면 현재 활성화된 셀을 프로그래밍 방식으로 검색해야 하는 경우가 많습니다. 또한 현재 셀을 변경해야 할 수 있습니다. CurrentCell 속성을 사용하여 이러한 작업을 수행할 수 있습니다.

 

Private Sub getCurrentCellButton_Click(ByVal sender As ObjectByVal e As System.EventArgs) Handles _ getCurrentCellButton.Click

    Dim msg As String = String.Format("Row: {0}, Column: {1}", dataGridView1.CurrentCell.RowIndex, _
        dataGridView1.CurrentCell.ColumnIndex)
    MessageBox.Show(msg, "Current Cell")

End Sub

 

 

 

그림이나 그래픽 추가

 

그림이나 그래픽은 데이터 형에 표시할 수 있는 값 중 하나입니다. 이러한 그래픽은 직원 사진이나 회사 로고 형식인 경우가 많습니다. DataGridView 컨트롤에 데이터를 표시하면 그림이 간단하게 통합됩니다. DataGridView 컨트롤은 일부 데이터베이스에서 사용되는 OLE 그림 형식뿐만 아니라 Image 클래스에서 지원하는 모든 이미지 형식을 기본적으로 처리합니다. DataGridView 컨트롤의 데이터 소스에 이미지 열이 있는 경우 DataGridView 컨트롤에 의해 해당 이미지 열이 자동으로 표시됩니다.

 

 

Public Sub CreateGraphicsColumn()

    Dim treeIcon As New Icon(Me.GetType(), "tree.ico")
    Dim iconColumn As New DataGridViewImageColumn()

    With iconColumn
        .Image = treeIcon.ToBitmap()
        .Name = "Tree"
        .HeaderText = "Nice tree"
    End With

    dataGridView1.Columns.Insert(2, iconColumn)

End Sub