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

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

816164
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.

이 문서에서는 Microsoft Visual Basic .NET 버전에 316302 참조하십시오.

이 문서에서는 Microsoft Visual C# .NET 버전에 316303 참조하십시오.

이 작업의

요약
이 문서에서는 ArrayList 클래스 개체의 DataGrid 컨트롤에 바인딩하는 방법을 설명합니다. 이 예제에서는 개체의 속성 값을 표시하기 위해 DataGrid 컨트롤 가진 Windows Form으로 포함되며 DataGrid 컨트롤의 행을 찾아보려면 네 개의 명령 단추가 포함되어 있습니다.
back to the top

요구 사항

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

클래스 디자인

클래스 컨트롤에 바인딩할 수 있는 클래스 속성 접근자가 있어야 합니다. 바인딩할 속성 getter 함수 및 setter 함수 있어야 합니다. getter 함수 및 setter 함수를 사용하여 속성 구현 및 이러한 __property 키워드를 사용하여 속성 함수가 있습니다 컴파일러에 알립니다. 이 문서에서 사용되는 샘플 클래스 멤버가 3개 있지만:
__gc class Guitar{private:        String *make;        String *model;        short year;public:    Guitar(void);    ~Guitar(void);                Guitar(String *strMake, String *strModel, short shYear)        {            make = strMake;            model = strModel;            year = shYear;        }        __property String* get_Make()         {            return make;         }        __property void set_Make(String* val)        {            make = (val);         }        __property String* get_Model()        {             return model;         }        __property void set_Model(String* val)        {            model = (val);         }        __property short get_Year()        {             return year;         }        __property void set_Year(short shValue)        {            year = shValue;         }};
back to the top

클래스 인스턴스 ArrayList에 추가

이러한 단계를 수행하여 인스턴스를 만들고 ArrayList 클래스에 추가합니다.
  1. ArrayList 클래스를 다음과 같이 선언할:
    private: ArrayList *arrayList;
  2. FormLoad 이벤트 처리기에서 해당 클래스의 인스턴스를 만들고 다음 ArrayList 클래스 인스턴스는 다음과 같은 추가: ArrayList
    //Create an ArrayList.arrayList = new ArrayList();//Populate the array list.arrayList->Add(new guitar(S"GibSon",S"Les Paul",1958));arrayList->Add(new guitar(S"Fender",S"Jazz Bass",1958));arrayList->Add(new guitar(S"Guild",S"Bluesbird",1958));
back to the top

DataGrid 수 있는 ArrayList 바인딩

ArrayList 클래스 채운 ArrayList 클래스 DataGrid 컨트롤의 데이터 소스 속성을 설정하십시오. DataGrid 컨트롤에 있는 열의 범위 내에 속성 접근자를 존재하는 속성에 따라 채워집니다.
// Bind the Array List to DataGrid.      dataGrid1->DataSource = arrayList;
back to the top

ArrayList 통해 이동

CurrencyManager 클래스 ArrayList 클래스를 통해 이동할 수 있습니다. 이렇게 하려면 CurrencyManager 클래스 변수를 다음과 같이 선언할:
private: CurrencyManager *currencyManager;
컨트롤 (이 경우 ArrayList) BindingContext 함수로 CurrencyManager 클래스 연결.
currencyManager = (CurrencyManager*)dataGrid1->BindingContext->Item[arrayList];
ArrayList 클래스의 멤버를 통해 반복하는 데 조작할 수 있는 위치 속성을 CurrencyManager 클래스가 있습니다. 추가 또는 위치 함수, 의 현재 값을 빼서 통해 DataGrid 컨트롤의 행 사이를 이동할 수 있습니다.
//Move forward one element.currencyManager.Position++;//Move back one element.currencyManager.Position--;//Move to the beginning.currencyManager.Position = 0;//Move to the end.currencyManager.Position = arrayList.Count - 1;				
back to the top

단계별 예제

  1. Microsoft Visual Studio .NET 2003 또는 Microsoft Visual Studio 2005 시작하십시오.
  2. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트 를 클릭하십시오.
  3. 클릭하여 프로젝트 형식 에서 Visual C++ 프로젝트템플릿 에서 Windows Forms 응용 프로그램 (.NET)을 클릭합니다.

    참고 Visual Studio 2005에서 프로젝트 형식Visual C++ 클릭한 다음 템플릿 에서 Windows Forms 응용 프로그램 을 누릅니다.
  4. 이름 텍스트 상자에 Q816164 를 입력한 다음 확인 을 누릅니다.
  5. 솔루션 탐색기에서 클래스 뷰로 전환하십시오. 이렇게 하려면 보기 메뉴에서 클래스 뷰 를 클릭하십시오.
  6. Q816164 마우스 오른쪽 단추로 클릭하고 추가 를 가리킨 다음 클래스 추가 클릭하십시오.
  7. 클래스 추가 대화 상자의 템플릿일반 C++ 클래스 클릭한 다음 열기 를 클릭하십시오.

    참고 Visual Studio 2005에서 C++ Cass템플릿 클릭한 다음 추가 클릭하십시오.
  8. 일반 C++ 클래스 마법사 기타클래스 이름 텍스트 상자에 입력한 다음 마침 을 클릭하십시오. 기타 클래스는 다음과 같이 나타납니다:
    #pragma onceclass Guitar{public:	Guitar(void);	~Guitar(void);};
    참고 Visual Studio 2005 위치 해당 코드는 다음과 같습니다.
    #pragma onceref class Guitar{public:	Guitar(void);};
    Managed Extensions C++ 클래스에 대한 클래스 기타 하려면 기타 클래스 앞에 __gc 키워드가 다음과 같은 추가:
    __gc class Guitar{public:	Guitar(void);	~Guitar(void);};
  9. Replace the existing code in the Guitar.h file with the following code:
    #pragma onceusing namespace System;__gc class Guitar{private:        String *make;        String *model;        short year;public:    Guitar(void);    ~Guitar(void);                Guitar(String *strMake, String *strModel, short shYear)        {            make = strMake;            model = strModel;            year = shYear;        }        __property String* get_Make()         {            return make;         }        __property void set_Make(String* val)        {            make = (val);         }        __property String* get_Model()        {             return model;         }        __property void set_Model(String* val)        {            model = (val);         }        __property short get_Year()        {             return year;         }        __property void set_Year(short shValue)        {            year = shValue;         }};
    Note You must add the common language runtime support compiler option (/clr:oldSyntax) in Visual C++ 2005 to successfully compile the previous code sample. Visual C++ 2005에서는 공용 언어 런타임 지원 컴파일러 옵션을 추가하려면 다음과 같이 하십시오.
    1. 프로젝트 를 클릭한 다음 <ProjectName> 속성을.

      참고<ProjectName> 프로젝트 이름에 대한 자리 표시자입니다.
    2. 구성 속성 을 확장한 다음 일반 을 클릭하십시오.
    3. 확인란을 선택하고 공용 언어 런타임 지원, 이전 구문 (/clr:oldSyntax)공용 언어 런타임 지원 프로젝트 설정을 오른쪽 창에 적용 을 누른 다음 확인 을 누릅니다.
    공용 언어 런타임에 대한 자세한 내용은 컴파일러 옵션을 지원하는 보려면 다음 Microsoft 웹 사이트를 방문하십시오.
    /clr (공용 언어 런타임 컴파일)
    http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
  10. Guitar.h 코드 창을 닫고 폼 디자이너로 전환하십시오.
  11. DataGrid 컨트롤을 Form1에 추가하십시오. 세 개의 행과 네 개의 열을 맞게 DataGrid 컨트롤 크기.
  12. Form1을 네 개의 단추 컨트롤을 추가하고 단추를 가로로 정렬하십시오.
  13. Button1Text 속성을 다음 으로 변경하십시오.
  14. 이전 위해 Button2Text 속성을 변경하십시오.
  15. Text 속성을 Button3 로 변경하십시오.
  16. 마지막으로 위해 Button4를 Text 속성을 변경하십시오.
  17. Form1.h 파일을 열고 맨 앞에 다음 코드를 추가하여:
    #include "Guitar.h"
  18. Form1 클래스에 다음 코드를 추가하여:
    private: System::Collections::ArrayList *arrayList;	private: System::Windows::Forms::CurrencyManager *currencyManager;	
  19. 폼 디자이너로 전환합니다 form1, 마우스 오른쪽 단추로 클릭한 다음 속성 을 클릭하십시오.
  20. 이벤트 아이콘을 클릭한 다음 코드에 Form1_Load 이벤트를 추가하려면 Load 이벤트를 두 번 클릭하십시오.
  21. 다음 코드를 붙여 Form1_Load 이벤트: 배열
    //Create an arraylist.arrayList = new ArrayList();arrayList->Add(new Guitar(S"GibSon",S"Les Paul",1958));arrayList->Add(new Guitar(S"Fender",S"Jazz Bass",1958));arrayList->Add(new Guitar(S"Guild",S"Bluesbird",1958));             currencyManager = dynamic_cast <CurrencyManager*>                 (dataGrid1->BindingContext->Item[arrayList]);// Bind the Array List to DataGrid.dataGrid1->DataSource = arrayList;
  22. 폼 디자이너로 전환하십시오.
  23. 다음 을 두 번 클릭한 다음 button1_Click 이벤트에 다음 코드를 추가합니다: 다음 위치로
    //Move to the next position.currencyManager->Position++;
  24. 이전, 두 번 클릭한 다음 button2_Click 이벤트에 다음 코드를 추가합니다: 이전 위치로
    //Move to the previous position.currencyManager->Position--;
  25. 첫째, 두 번 클릭한 다음 button3_Click 이벤트에 다음 코드를 추가합니다: 첫 번째 위치로
    //Move to the first position.currencyManager->Position =0;
  26. 마지막으로, 두 번 클릭한 다음 button4_Click 이벤트에 다음 코드를 추가합니다: 마지막 위치로
    //Move to the last position.currencyManager->Position = currencyManager->Count -1;
  27. 구축 및 다음 프로젝트를 실행하십시오.
  28. DataGrid 컨트롤의 행 사이를 이동할 수 있는 명령 단추를 클릭하십시오. 필요한 경우, 개체 값을 편집할 수 있습니다.
back to the top
참조
자세한 내용은 데이터 소비자에 대한 Windows 폼에 다음 Microsoft 개발자 웹 사이트를 방문하십시오.back to the top
데이터 표, 배열, 데이터 바인딩, 배열 목록을

경고: 이 문서는 자동 번역되었습니다

속성

문서 ID: 816164 - 마지막 검토: 01/17/2015 06:52:28 - 수정: 2.2

  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • kbnosurvey kbarchive kbmt kbdatabinding kbcollections kbhowtomaster kbhowto KB816164 KbMtko
피드백