Visual Basic 2005 또는 Visual Basic .NET을 사용하여 개체 또는 구조체를 ArrayList DataGrid 컨트롤을 바인딩하는 방법을

기술 자료 번역 기술 자료 번역
기술 자료: 316302 - 이 문서가 적용되는 제품 보기.
이 문서에서는 Microsoft Visual C# .NET 버전에 316303 참조하십시오.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 개체의 ArrayListDataGrid 컨트롤에 바인딩하는 방법을 설명합니다. 이 예제에서는 Microsoft Windows 개체 속성 값과 DataGrid 컨트롤의 행을 탐색할 수 있는 네 개의 명령 단추를 표시하려면 양식 중 DataGrid 컨트롤 사용하여 구성됩니다.

요구 사항

다음은 권장되는 하드웨어, 소프트웨어, 네트워크 인프라 및 필요한 서비스 팩의 목록입니다.
  • Microsoft Visual Basic 2005 또는 Visual Basic .NET
이 문서에서는 사용자가 다음 항목을 잘 알고 있다고 가정합니다.
  • Visual Basic 프로그래밍 개념

클래스 디자인

컨트롤에 바인딩되어 있는 클래스를 속성 접근자를 있어야 합니다. 바인딩되어 있는 모든 속성은 속성 집합속성 Get 메서드가 있어야 합니다. 이 문서에서 사용되는 샘플 클래스 (여기에는 하나만 나와 있습니다.) 멤버가 3개 있지만 매개 변수가 있는 생성자를 또한 제공되는 있지만 요구 사항이 아닙니다.
Public Class guitar
    Private m_make As String
    Private m_model As String
    Private m_year As Short

    Public Sub New(ByVal make, ByRef model, ByVal year)
        m_make = make
        m_model = model
        m_year = year
    End Sub
    Public Property make() As String
        Get
            Return m_make
        End Get
        Set(ByVal Value As String)
            m_make = Value
        End Set
    End Property
    
End Class
				

클래스 인스턴스 ArrayList에 추가

인스턴스를 만들고 이를 위해 ArrayList 추가 다음과 같이 하십시오.
  1. ArrayList 선언하십시오.
  2. 해당 클래스의 인스턴스를 만들고 위해 ArrayList 인스턴스를 추가하십시오.
Private al as New Arraylist()

al.Add(New guitar("Gibson", "Les Paul", 1958))
al.Add(New guitar("Fender", "Jazz Bass", 1964))
al.Add(New guitar("Guild", "Bluesbird", 1971))
				

DataGrid 수 있는 ArrayList 바인딩

ArrayList 채운 후에는 위해 ArrayListDataGrid 컨트롤의 데이터 소스 속성을 설정하십시오. DataGrid 컨트롤에 있는 열의 범위 내에 속성 접근자를 존재하는 속성에 따라 채워집니다.
DataGrid1.DataSource = al
				

해당 ArrayList 찾아볼 수 있는 방법을 제공하십시오.

CurrencyManagerArrayList 통해 찾아볼 수 있습니다. 이렇게 하려면 컨트롤 (이 경우 ArrayList) BindingContextCurrencyManager를 연결하십시오.
Private cManager As CurrencyManager

cManager = CType(DataGrid1.BindingContext(al), CurrencyManager)
				
ArrayList 멤버를 통해 반복하는 데 조작할 수 Position 속성은 CurrencyManager 클래스가 있습니다. DataGrid 컨트롤의 행, 추가 또는 Position, 의 현재 값을 빼서 통해 찾아볼 수 있습니다.
'Move forward one element.
cManager.Position += 1
'Move back one element.
cManager.Position -= 1
'Move to the beginning.
cManager.Position = 0
'Move to the end.
cManager.Position = al.Count - 1
				

단계별 예제

  1. Visual Basic2005 또는 Visual Basic .NET 새 Windows 응용 프로그램 프로젝트를 만듭니다. 기본적으로 Form1이 만들어집니다.
  2. 프로젝트 메뉴에서 클래스 추가 프로젝트에 클래스를 추가하려면 클릭하십시오.
  3. Class1.vb 코드에 대해 다음 바꾸기:
    Public Class guitar
        Private m_make As String
        Private m_model As String
        Private m_year As Short
    
        Public Sub New(ByVal make, ByRef model, ByVal year)
            m_make = make
            m_model = model
            m_year = year
        End Sub
        Public Property make() As String
            Get
                Return m_make
            End Get
            Set(ByVal Value As String)
                m_make = Value
            End Set
        End Property
        Public Property model() As String
            Get
                Return m_model
            End Get
            Set(ByVal Value As String)
                m_model = Value
            End Set
        End Property
        Public Property year() As Short
            Get
                Return m_year
            End Get
            Set(ByVal Value As Short)
                m_year = Value
            End Set
        End Property
    End Class
    					
  4. Class1.vb 코드 창을 닫고 폼 디자이너로 전환하십시오.
  5. DataGrid 컨트롤을 Form1에 추가하십시오. 세 개의 행과 네 개의 열을 수용할 수 있도록 DataGrid 컨트롤 크기가.
  6. Form1을 네 개의 단추 컨트롤을 추가하고 단추를 가로로 정렬하십시오.
  7. Button1 Text 속성을 다음 으로 변경하십시오.
  8. 이전 위해 Button2 Text 속성을 변경하십시오.
  9. Text 속성을 Button3 로 변경하십시오.
  10. 마지막으로 위해 Button4 Text 속성을 변경하십시오.
  11. Form1 클래스에 다음 코드를 추가하여:
    Private cManager As CurrencyManager
    Private al as New ArrayList()
    					
  12. 다음 코드를 붙여 Form1_Load 이벤트:
    al.Add(New guitar("Gibson", "Les Paul", 1958))
    al.Add(New guitar("Fender", "Jazz Bass", 1964))
    al.Add(New guitar("Guild", "Bluesbird", 1971))
    				
    cManager = CType(DataGrid1.BindingContext(al), CurrencyManager)
    	
    DataGrid1.DataSource = al
    					
  13. Form_Load 프로시저를 뒤에 다음 코드를 붙여 넣습니다.
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            cManager.Position += 1
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            cManager.Position -= 1
        End Sub
    
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            cManager.Position = 0
        End Sub
    
        Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            cManager.Position = al.Count - 1
        End Sub
    					
  14. 빌드 및 프로젝트를 실행하십시오.
  15. DataGrid 컨트롤의 행 사이를 이동할 수 있는 명령 단추를 클릭하십시오. 원하는 경우 개체 값을 편집할 수 있음을 유의하십시오.

클래스 대신 구조체를 사용하여

구조체 바인딩 규칙을 개체를 바인딩 규칙은 동일합니다. 즉, 구성원 속성 접근자가 필요합니다. 이 용도로 만들어진 구조를 클래스와 유사한.

ArrayList 구조의 위해 바인딩하려면 다음과 같이 하십시오.
  1. Public Class guitar
    '...
    End Class
    					
    다음:
    Public Structure guitar
    '...
    End Structure
    					
  2. 빌드 및 예제 프로그램을 다시 실행한 다음 ArrayList 구조의 함께 작동하는지 확인하십시오.

참조

자세한 내용은 Visual Studio .NET 온라인 도움말 "소비자 중 데이터 따라 Windows Forms" 항목을 참조하십시오.

속성

기술 자료: 316302 - 마지막 검토: 2006년 12월 6일 수요일 - 수정: 3.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
키워드:?
kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB316302 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com