본문 바로가기
  • Welcome!
VBA VB.Net Code

DataGridView

by ToolBOX01 2024. 12. 15.
반응형

□ VB.NET DataGridView

VB.NET DataGridView는 Windows Forms 애플리케이션에서 표 형태의 데이터를 효과적으로 표시하고 편집할 수 있도록 해주는 컨트롤입니다. 데이터베이스에서 가져온 데이터를 테이블 형식으로 보여주거나, 사용자가 직접 데이터를 입력하고 수정할 수 있는 인터페이스를 제공합니다.

[DataGridView]

DataGridView는 VB.NET 개발에서 데이터를 시각적으로 표현하고 사용자와 상호 작용하는 데 매우 유용한 컨트롤입니다. 다양한 기능과 유연성을 제공하여 다양한 형태의 데이터를 효과적으로 관리할 수 있습니다.

[DataGridView]

 

전체 코드

Public Class Form1
    Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click, Label2.Click

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'DataGridView를 선택하면 전체 한줄이 선택되게 됩니다. 
        DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
        
        '헤더 값을 가운데로 정렬
        DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        

        '컬럼 2개를 생성하고 각각의 이름을 정해줍니다. DataGridView1의 상단에 위치하게 됩니다. 
        DataGridView1.ColumnCount = 3
        DataGridView1.Columns(0).Name = "No."
        DataGridView1.Columns(1).Name = "Name"
        DataGridView1.Columns(2).Name = "Adress"
    End Sub

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles txbNmmeTextbox.TextChanged

    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnUpdateButton.Click
        DataGridView1.SelectedRows(0).Cells(1).Value = txbNmmeTextbox.Text
        DataGridView1.SelectedRows(0).Cells(2).Value = txbAdressTextbox.Text
    End Sub

    Private Sub btnAddButton_Click(sender As Object, e As EventArgs) Handles btnAddButton.Click
        '공백을 입력할 수 없도록 에러처리 
        If txbNmmeTextbox.Text = "" Or txbAdressTextbox.Text = "" Then
            MsgBox("데이터를 입력하세요")
            Return
        End If

        '// 전역 변수를 사용하여 행 번호를 관리
        Static rowNumber As Integer = 0

        'DataGridView의 한 줄에 추가될 데이터를 배열에 넣습니다.
        Dim row As String() = New String() {CStr(rowNumber + 1), txbNmmeTextbox.Text, txbAdressTextbox.Text}

        '배열을 DataGridView에 추가합니다.
        DataGridView1.Rows.Add(row)

        ' 행 번호 증가
        rowNumber += 1

        '데이터가 입력되었던 텍스트박스를 비웁니다.
        txbNmmeTextbox.Text = ""
        txbAdressTextbox.Text = ""
    End Sub

    Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

    End Sub

    Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
        If (e.RowIndex > -1) And Not (DataGridView1.SelectedRows(0).Cells(0).Value = Nothing) Then
            'DataGridView1에서 선택된 행의 첫번째 셀의 값을 name_TextBox의 내용으로 합니다.
            txbNmmeTextbox.Text = DataGridView1.SelectedRows(0).Cells(1).Value.ToString

            'DataGridView1에서 선택된 행의 두번째 셀의 값을 address_TextBox의 내용으로 합니다.
            txbAdressTextbox.Text = DataGridView1.SelectedRows(0).Cells(2).Value.ToString
        Else
            txbNmmeTextbox.Text = ""
            txbAdressTextbox.Text = ""
        End If
    End Sub

    Private Sub btnDeleteButton_Click(sender As Object, e As EventArgs) Handles btnDeleteButton.Click
        '삭제할 수 없는 셀인 경우 에러처리
        If DataGridView1.SelectedRows(0).Cells(0).Value = Nothing Then
            Return
        End If


        Dim msgResult As MsgBoxResult = MsgBox("삭제하시겠습니까?", MsgBoxStyle.YesNo)

        If msgResult = MsgBoxResult.Yes Then
            DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(0).Index)

            txbNmmeTextbox.Text = ""
            txbAdressTextbox.Text = ""

        End If
    End Sub
End Class

 

프로그램 실행화면

  1. Add 버튼 : Name, Adress를 입력후 클릭 합니다.
  2. Update 버튼 : 변경 하고자 하는 화면을 클릭 합니다. Name, Adress를 수정 합니다. Update 버튼을 클릭 합니다
  3. Delete 버튼 : 삭제 하고자 하는 화면을 클릭 합니다. Delete 버튼을 클릭 합니다

 

▷ DataGridView  주요 기능 및 특징

데이터 바인딩: 
다양한 데이터 소스(DataTable, BindingList, Array 등)에 쉽게 연결하여 데이터를 표시하고 편집할 수 있습니다.

데이터 바인딩이란? 데이터 바인딩은 앱 UI와 해당 UI가 표시하는 데이터를 연결하는 프로세스입니다. 
바인딩 설정이 올바르고 데이터가 적절한 알림을 제공하는 경우 데이터 값이 변경될 때 데이터에 바인딩된 
요소에 변경사항이 자동으로 반영됩니다. 데이터 바인딩 기법을 사용하면 데이터 값만 바뀌면 UI가 알아서 
바뀌므로 훨씬 편합니다

 

셀 편집: 
각 셀의 데이터 형식에 맞는 편집 컨트롤(텍스트 박스, 콤보 박스 등)을 제공하여 사용자가 직접 데이터를 수정할 수 있습니다.

컬럼 커스터마이징: 
컬럼의 너비, 정렬, 표시 형식 등을 자유롭게 설정하여 데이터를 시각적으로 효과적으로 표현할 수 있습니다.

행 선택 및 편집: 
여러 행을 선택하고 한 번에 편집하거나 삭제할 수 있습니다.

셀 병합: 
여러 셀을 하나로 합쳐서 더 복잡한 표 형태를 만들 수 있습니다.

이벤트: 
데이터 변경, 셀 클릭, 행 추가/삭제 등 다양한 이벤트를 제공하여 사용자의 상호 작용에 대한 처리를 할 수 있습니다.

헤더 및 풋터:
표의 상단과 하단에 헤더와 풋터를 추가하여 정보를 표시할 수 있습니다.

스타일 지정: 
셀, 행, 열의 배경색, 글꼴, 테두리 등을 설정하여 다양한 스타일을 적용할 수 있습니다.

DataGridView 예제 코드

 

[VB.NET] DataGridView 팁 정리

VB - DataGridView의 Selected Row의 값 읽기http://zzbearkim.blogspot.kr/2011/11/vb-datagridview-selected-row.html Windows Forms DataGridView 컨트롤의 선택 모드 - MSDNhttps://msdn.microsoft.com/ko-kr/library/8x6w9028(v=vs.110).aspx https://techn

morphys.tistory.com

 

▷코딩 예제 동영상

 

DataGridView는 VB.NET 개발에서 데이터를 시각적으로 표현하고 사용자와 상호 작용하는 데 매우 유용한 컨트롤입니다. 다양한 기능과 유연성을 제공하여 다양한 형태의 데이터를 효과적으로 관리할 수 있습니다.

3D CAD 응용프로그램을 개발할때 "DataGridView" 기능은 매우 많이 사용 합니다. Part List, BOM 등 다양한 정보를 3D 모델로 부터 가져오는 데이터를 저장 할수 있고, 변경 하여 3D 모델에 보낼수 있도록 하는 "표" 입니다

 

비주얼 베이직 .Net 강좌 - 2. DataGridView 사용법

강좌이긴 한데.. 처음부터 A-Z까지의 내용을 다루는 것이 아니라.. 제가 작성할 프로그램에 관련된 부분들만 우선적으로 공부하고 있어서.. 올리는 내용도 그렇게 될 것 같습니다. 새로운 프로젝

webnautes.tistory.com


 

'VBA VB.Net Code' 카테고리의 다른 글

PowerPoint와 VBA] 소개  (0) 2024.12.28
EXCEL에 자동으로 이미지 삽입  (0) 2024.12.27
Combox의 요소를 선택 하여 라벨에 표시 하기  (0) 2024.12.14
엑셀 VBA의 배열(array) 개념  (0) 2024.12.02
폴더 만들기  (0) 2024.11.25