다음을 통해 공유


연습: 문서 수준 프로젝트의 단순 데이터 바인딩

이 연습에서는 문서 수준 프로젝트의 데이터 바인딩에 대한 기본적인 사항을 보여 줍니다. SQL Server 데이터베이스의 데이터 필드 하나는 Microsoft Office Excel의 명명된 범위에 바인딩됩니다. 또한 이 연습에서는 표의 모든 레코드를 스크롤하는 데 사용할 수 있는 컨트롤을 추가하는 방법을 보여 줍니다.

적용 대상: 이 항목의 정보는 Excel 2007 및 Excel 2010의 문서 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

이 연습에서는 다음 작업을 수행합니다.

  • Excel 프로젝트의 데이터 소스 만들기

  • 워크시트에 컨트롤 추가

  • 데이터베이스 레코드 스크롤

참고

다음 지침처럼 컴퓨터에서 Visual Studio 사용자 인터페이스 요소 일부에 대한 이름이나 위치를 다르게 표시할 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.

사전 요구 사항

이 연습을 완료하려면 다음 구성 요소가 필요합니다.

-

Microsoft Office 개발자 도구를 포함하는 Visual Studio 2010 버전입니다. 자세한 내용은 [Office 솔루션을 개발할 수 있도록 컴퓨터 구성](bb398242\(v=vs.100\).md)을 참조하십시오.
  • Excel 2007 또는 Excel 2010

  • Northwind SQL Server 샘플 데이터베이스가 있는 서버에 액세스할 수 있어야 합니다.

  • SQL Server 데이터베이스에서 읽고 쓰기 위한 권한이 있어야 합니다.

새 프로젝트 만들기

이 단계에서는 Excel 통합 문서 프로젝트를 만듭니다.

새 프로젝트를 만들려면

  • Visual Basic이나 C#을 사용하여 My Simple Data Binding이라는 Excel 통합 문서 프로젝트를 만듭니다. 새 문서 만들기가 선택되어 있는지 확인합니다. 자세한 내용은 방법: Visual Studio에서 Office 프로젝트 만들기를 참조하십시오.

Visual Studio의 디자이너에 새 Excel 통합 문서가 열리고 My Simple Data Binding 프로젝트가 솔루션 탐색기에 추가됩니다.

데이터 소스 만들기

데이터 소스 창을 사용하여 형식화된 데이터 집합을 프로젝트에 추가합니다.

데이터 소스를 만들려면

  1. 데이터 소스 창이 표시되지 않으면 데이터 메뉴에서 데이터 소스 표시를 클릭합니다.

    참고

    데이터 소스 표시를 사용할 수 없으면 Excel 통합 문서 안쪽을 클릭한 다음 다시 확인합니다.

  2. 새 데이터 소스 추가를 클릭하여 데이터 소스 구성 마법사를 시작합니다.

  3. 데이터베이스를 선택하고 다음을 클릭합니다.

  4. Northwind 샘플 SQL Server 데이터베이스에 대한 데이터 연결을 선택하거나 새 연결 단추를 사용하여 새 연결을 추가합니다.

  5. 연결을 선택하거나 만든 후 다음을 클릭합니다.

  6. 연결을 저장하는 옵션이 선택되어 있는 경우 선택을 취소하고 다음을 클릭합니다.

  7. 데이터베이스 개체 창에서 테이블 노드를 확장합니다.

  8. Customers 테이블 옆에 있는 확인란을 선택합니다.

  9. 마침을 클릭합니다.

마법사에서 Customers 테이블이 데이터 소스 창에 추가됩니다. 솔루션 탐색기에 표시되는 프로젝트에 형식화된 데이터 집합도 추가됩니다.

워크시트에 컨트롤 추가

이 연습을 진행하려면 첫 번째 워크시트에 두 개의 명명된 범위와 네 개의 단추가 있어야 합니다. 먼저 데이터 소스 창에서 명명된 범위 두 개를 추가하여 데이터 소스에 이 범위를 자동으로 바인딩합니다. 그런 다음 도구 상자에서 단추를 추가합니다.

명명된 범위 두 개를 추가하려면

  1. My Simple Data Binding.xls 통합 문서가 Visual Studio 디자이너에 열려 있고 Sheet1이 표시되어 있는지 확인합니다.

  2. 데이터 소스 창을 열고 Customers 노드를 확장합니다.

  3. CompanyName 열을 선택한 다음 드롭다운 화살표가 나타나면 이를 클릭합니다.

  4. 드롭다운 목록에서 NamedRange를 선택하고 CompanyName 열을 셀 A1에 끌어 놓습니다.

    companyNameNamedRange라는 NamedRange 컨트롤이 셀 A1에 작성됩니다. 이와 함께 customersBindingSource라는 BindingSource, 테이블 어댑터 및 DataSet 인스턴스가 프로젝트에 추가됩니다. 컨트롤이 BindingSource에 바인딩되고, 이는 다시 DataSet 인스턴스에 바인딩됩니다.

  5. 데이터 소스 창에서 CustomerID 열을 선택한 다음 드롭다운 화살표가 나타나면 이를 클릭합니다.

  6. 드롭다운 목록에서 NamedRange를 클릭하고 CustomerID 열을 셀 B1에 끌어 놓습니다.

  7. customerIDNamedRange라는 다른 NamedRange 컨트롤이 셀 B1에 작성되고 BindingSource에 바인딩됩니다.

단추 네 개를 추가하려면

  1. 도구 상자공용 컨트롤 탭에서 Button 컨트롤을 워크시트의 A3 셀에 추가합니다.

    이 단추의 이름이 Button1로 설정됩니다.

  2. 나머지 세 개의 단추를 다음 셀에 아래 순서에 따라 추가하여 각 이름을 다음과 같이 설정합니다.

    (이름)

    B3

    Button2

    C3

    Button3

    D3

    Button4

다음 단계에서는 단추에 텍스트를 추가합니다. C#의 경우 이벤트 처리기를 추가합니다.

컨트롤 초기화

단추 텍스트를 설정하고 Startup 이벤트를 진행하는 동안 필요한 이벤트 처리기를 추가합니다.

컨트롤을 초기화하려면

  1. 솔루션 탐색기에서 마우스 오른쪽 단추로 Sheet1.vb 또는 Sheet1.cs를 클릭한 다음 바로 가기 메뉴에서 코드 보기를 클릭합니다.

  2. Sheet1_Startup 메서드에 다음 코드를 추가하여 각 단추의 텍스트를 설정합니다.

    With Me
        .Button1.Text = "|<"
        .Button2.Text = "<"
        .Button3.Text = ">"
        .Button4.Text = ">|"
    End With
    
    this.button1.Text = "|<";
    this.button2.Text = "<";
    this.button3.Text = ">";
    this.button4.Text = ">|";
    
  3. C#의 경우 Sheet1_Startup 메서드에 단추 클릭 이벤트에 대한 이벤트 처리기를 추가합니다.

    this.button1.Click += new EventHandler(button1_Click);
    this.button2.Click += new EventHandler(button2_Click);
    this.button3.Click += new EventHandler(button3_Click);
    this.button4.Click += new EventHandler(button4_Click);
    

이제 사용자가 레코드를 탐색할 수 있도록 단추의 Click 이벤트를 처리하는 코드를 추가합니다.

레코드를 스크롤할 수 있도록 코드 추가

레코드에서 이동하기 위한 코드를 각 단추의 Click 이벤트 처리기에 추가합니다.

첫 번째 레코드로 이동하려면

  • Button1 단추의 Click 이벤트에 대한 이벤트 처리기를 추가하고 다음 코드를 추가하여 첫 번째 레코드로 이동할 수 있도록 합니다.

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Button1.Click
    
        Me.CustomersBindingSource.MoveFirst()
    End Sub
    
    private void button1_Click(object sender, System.EventArgs e)
    {
        this.customersBindingSource.MoveFirst();
    }
    

이전 레코드로 이동하려면

  • Button2 단추의 Click 이벤트에 대한 이벤트 처리기를 추가하고 다음 코드를 추가하여 하나 뒤의 위치로 이동할 수 있도록 합니다.

    Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Button2.Click
    
        Me.CustomersBindingSource.MovePrevious()
    End Sub
    
    private void button2_Click(object sender, System.EventArgs e)
    {
        this.customersBindingSource.MovePrevious(); 
    }
    

다음 레코드로 이동하려면

  • Button3 단추의 Click 이벤트에 대한 이벤트 처리기를 추가하고 다음 코드를 추가하여 하나 앞의 위치로 이동할 수 있도록 합니다.

    Private Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Button3.Click
    
        Me.CustomersBindingSource.MoveNext()
    End Sub
    
    private void button3_Click(object sender, System.EventArgs e)
    {
        this.customersBindingSource.MoveNext();
    }
    

마지막 레코드로 이동하려면

  • Button4 단추의 Click 이벤트에 대한 이벤트 처리기를 추가하고 다음 코드를 추가하여 마지막 레코드로 이동할 수 있도록 합니다.

    Private Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Button4.Click
    
        Me.CustomersBindingSource.MoveLast()
    End Sub
    
    private void button4_Click(object sender, System.EventArgs e)
    {
        this.customersBindingSource.MoveLast();
    }
    

응용 프로그램 테스트

이제 통합 문서를 테스트하여 데이터베이스의 레코드를 탐색할 수 있는지 확인합니다.

통합 문서를 테스트하려면

  1. F5 키를 눌러 프로젝트를 실행합니다.

  2. A1B1 셀에 첫 번째 레코드가 나타나는지 확인합니다.

  3. > (Button3) 단추를 클릭하고 A1B1 셀에 다음 레코드가 나타나는지 확인합니다.

  4. 다른 스크롤 단추를 클릭하고 레코드가 원하는 대로 변경되는지 확인합니다.

다음 단계

이 연습에서는 데이터베이스의 필드에 명명된 범위를 바인딩하는 기본적인 방법을 보여 줍니다. 이후에 수행할 수 있는 작업은 다음과 같습니다.

참고 항목

작업

연습: 문서 수준 프로젝트의 복합 데이터 바인딩

기타 리소스

Office 솔루션의 컨트롤에 데이터 바인딩

Office 솔루션의 데이터