데이터에 ListObject 열 매핑

ListObject 컨트롤을 DataTable에 바인딩할 때 목록에 있는 모든 열이 표시되는 것을 원하지 않거나 데이터에 바인딩되지 않은 특정 열이 있을 수 있습니다. ListObject 메서드를 호출할 때 SetDataBinding 에 나타내려는 열을 매핑할 수 있습니다.

적용 대상: 이 항목의 정보는 Excel의 문서 수준 프로젝트 및 VSTO 추가 기능 프로젝트에 적용됩니다. 자세한 내용은 Office 애플리케이션 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하세요.

열 매핑

데이터 테이블을 목록의 열에 매핑하려면

  1. 클래스 수준에서 DataTable 을 만듭니다.

    System.Data.DataTable table = new System.Data.DataTable("Employees");
    
  2. Startup 클래스(문서 수준 프로젝트) 또는 Sheet1 클래스(VSTO 추가 기능 프로젝트)의 ThisAddIn 이벤트 처리기에서 샘플 열과 데이터를 추가합니다.

    table.Columns.Add("Id", typeof(int));
    table.Columns.Add("FirstName", typeof(string));
    table.Columns.Add("LastName", typeof(string));
    table.Columns.Add("Title", typeof(string));
    
    table.Rows.Add(1, "Nancy", "Anderson", "Sales Representative");
    table.Rows.Add(2, "Robert", "Brown", "Sales Representative");
    
  3. SetDataBinding 메서드를 호출하고 표시할 순서대로 열 이름을 전달합니다. 목록 개체는 새로 만들어진 DataTable에 바인딩되지만 목록 개체의 열 순서는 DataTable에 나타나는 순서와 다릅니다.

    this.list1.AutoSetDataBoundColumnHeaders = true;
    this.list1.SetDataBinding(table, "", "Title", "LastName", "FirstName");
    

매핑되지 않은 열 지정

DataTable에 열을 매핑할 때 빈 문자열을 전달하여 특정 열이 데이터에 바인딩되지 않도록 지정할 수도 있습니다. 데이터에 바인딩되지 않은 새 열은 ListObject 컨트롤에 추가됩니다.

ListObject 열을 매핑할 때 매핑되지 않은 열을 지정하려면

  1. SetDataBinding 메서드를 호출하고 표시할 순서대로 열 이름을 전달합니다. 빈 문자열을 사용하여 매핑되지 않은 열이 추가될 위치를 지정합니다. 이 경우 직책 열과 성 열 사이입니다.

    this.list1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName");
    

코드 컴파일

이 코드 예제에서는 이 코드가 표시되는 워크시트에 ListObject 이라는 기존 list1 가 있는 것으로 간주합니다.